Closed Bug 1222810 Opened 9 years ago Closed 6 years ago

Zooming "too close" on repeated occasions leads to zoom issues until browser is restarted

Categories

(Firefox for Android Graveyard :: Toolbar, defect)

42 Branch
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: tw-bugs-firefox, Unassigned, NeedInfo)

Details

Attachments

(2 files, 1 obsolete file)

Attached file firefox.bug.log (obsolete) —
User Agent: Mozilla/5.0 (Android 5.1.1; Mobile; rv:42.0) Gecko/42.0 Firefox/42.0
Build ID: 20151029024147

Steps to reproduce:

Zoom in and zoom out repeatedly, either in succession or over time as in regular usage. Be sure to zoom in very close. Wikipedia supports this, as do many pages when you Request Desktop Site. Observe touch points in video: https://youtu.be/CdVEDeFBkFw
This affects my Verizon LG G3 with Android 5.1.1 stock firmware. It does not occur in Chrome. It does not occur in AOSP-based ROMs like Cm12 and AOSPA-L.
I have factory reset and reflashed many times. I have reinstalled Firefox and tried different versions (40, 41), including Fennec. These things do not help.


Actual results:

Eventually, the visible portion of the page and its nearby tiles do not scale properly if at all when zooming into or out of close-up, leading to an appearance of artifacts. Sometimes the page turns white. It may or may not finish loading properly after several seconds. Panning around, other tiles at a great enough distance will be properly scaled.
See behavior toward middle or end of video: https://youtu.be/CdVEDeFBkFw?t=380


Expected results:

Zooming and panning affects all tiles of the page appropriately.
(See behavior at beginning of video, before zoom bug is triggered.)
The logcat was filtered with: grep -i -E 'fennec|firefox|mozilla|gecko|graphic|gpu|gles|layer|libegl| E/| W/| F/|render|display|avc' | grep -E -v 'InputTransport|WifiState|com\.amazon|ConnectivityService|LinkAddresses|getpebble|LocSvc|gps|Telephony'
Please let me know if there is not enough data.
Attachment #8684662 - Attachment mime type: text/x-log → text/plain
Thanks for the video and log! That looks like pretty crazy behaviour you're seeing, and is almost certainly related to the GL drivers. In the log I see various GL errors, starting with this one:

11-08 07:26:36.960 E/libEGL  (25550): validate_display:255 error 3008 (EGL_BAD_DISPLAY)

Assuming the log was taken at the same time as the video (the timestamps in the log seem to line up with the video) this error occurs during startup and then again at various points while Fennec is running.

Flagging :jnicol because I think he was working on something similar to this and might know what's going on. Something you should probably try is install the latest nightly build from nightly.mozilla.org and see if that exhibits the same problem. It might have been fixed already and the fix just isn't in 42.0.
Flags: needinfo?(jnicol)
I could believe this is indeed another manifestation of what I'm currently looking at, which is due to running out of memory. From looking at the video, I'd guess we are failing to allocate the tile textures, therefore causing us to composite the wrong textures or nothing at all. (The other manifestations are more extreme: bug 1165951 and bug 1164027, which are OOM crashes.)

A look at the full logcat could probably determine whether this is the case. Specifally, does it contain any memory allocation failure messages under the "Adreno-GSL" tag?
Flags: needinfo?(jnicol) → needinfo?(tw-bugs-firefox)
Attachment #8684662 - Attachment is obsolete: true
I could not replicate the issue when I used the Nightly (yay!), although there were some other zooming/panning issues which should probably not get mixed up with this bug. Am I allowed to mark Resolved?
Flags: needinfo?(tw-bugs-firefox)
Is your logcat from comment 4 whilst reproducing the issue, or with latest nightly so did not reproduce the issue?
Flags: needinfo?(tw-bugs-firefox)
Comment 4 is the original logcat (reproducing the issue) but with less stuff grepped out, to hopefully include the things you wanted.
Flags: needinfo?(tw-bugs-firefox)
Thanks. It doesn't contain the lines I was looking for, but looking at it I find these lines very suspicious:

> 11-08 07:36:30.385 E/BufferQueueProducer(  299): [GraphicBufferSource] dequeueBuffer: BufferQueue has been abandoned
> 11-08 07:36:30.385 W/Adreno-EGLSUB(  269): <DequeueBuffer:720>: dequeue native buffer fail: No such device, buffer=0x0, handle=0x0
> 11-08 07:36:30.385 W/Adreno-EGL(  269): <qeglDrvAPI_eglSwapBuffers:3709>: EGL_BAD_SURFACE
> 11-08 07:36:30.385 E/SurfaceFlinger(  269): eglSwapBuffers(0x1, 0xb65d2500) failed with 0x0000300d
I tried to mimic the browsing seen in the last video, but with the Nightly. Here's a video recording of that: https://youtu.be/MlyMhnjMDGY
Here are some potentially-useful timestamps:
Crash: 2:00
Blank areas: 1:09, 2:58, 9:17
It's longer than it needs to be, so you may want to skip to the times I've listed, or at least speed it up.
As with the last video, you can also see the device's vital stats in the HUD at the top. From left: CPU temperature, CPU usage, CPU frequency, GPU frequency (in yellow), free memory, network utilization, I/O, battery discharge, time w/ seconds, process with highest CPU usage (in yellow). The time w/ seconds can be used to help match up points in the video with points in the logcat.
The Nightly rendering was a significant improvement. Its issue was mainly leaving areas blank (white) or sometimes black. Unlike v.42, there was no noticeable disparity between the rendered area of the page and the supposedly-visible area of the page, as seen with v.42's oddly-scaled, mismatched tiles. It did crash a few times in my testing -- just once in the recording.
I have the unfiltered logcat if you'd like me to email it.
Hi,

I was not able to reproduce the issue.

Tested with:
Browser / Version: Firefox Mobile Nightly 63.0a1 (2018-08-15)
Operating System: LG G4 (Android 6.0)

Could you download the latest Nightly and retry?

Thank you!
Flags: needinfo?(tw-bugs-firefox)
Due to the lack of additional info, I'll close this issue as Incomplete. If someone can provide more information regarding this issue, please feel free to reopen it, thanks.
Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: