Open Bug 1701556 Opened 5 years ago Updated 5 years ago

signalstickers.com animations freeze the app and system

Categories

(Core :: Graphics, defect, P3)

Unspecified
Android
defect

Tracking

()

People

(Reporter: petru, Unassigned, NeedInfo)

References

Details

From github: https://github.com/mozilla-mobile/fenix/issues/18658.

Steps to reproduce

Reproduced before and after a reboot, also incognito.

  1. Visit https://signalstickers.com/
  2. Wait 5–10 seconds for things to settle
  3. Tap on "animated" (updates URL to https://signalstickers.com/?s=animated%3Atrue)
  4. Wait 5–10 seconds for things to settle
  5. Fling to scroll down a few pages
  6. Wait 5–10 seconds for things to settle
  7. Notice that animations become laggy and then freeze
    • If it doesn't happen immediately, it does after visiting a page or two and returning to the list
  8. Attempt to interact with the page or any Android system UI

Expected behavior

GIFs on the page don't stutter.
Firefox itself doesn't freeze.
Phone can be used.

Actual behavior

Animations stutter and then freeze.
Firefox freezes.
Android system UI freezes — can't press Home, use Notification shade etc.
Phone is 100% unusable for 1–3 minutes and becomes warm, until an ANR dialog eventually appears for Firefox and many other apps, and/or System UI restarts itself.

Device information

  • Android device: Google Pixel 3a, Android 11 (build RQ2A.210305.006)
  • Fenix version: Firefox Nightly 210324

Change performed by the Move to Bugzilla add-on.

The same is happening on GVE.
Something hangs the Main thread.

Log:

2021-03-29 09:29:01.525 ? E/ActivityManager: ANR in org.mozilla.geckoview_example (org.mozilla.geckoview_example/.GeckoViewActivity)
PID: 12673
Reason: Input dispatching timed out (a351f2f org.mozilla.geckoview_example/org.mozilla.geckoview_example.GeckoViewActivity (server) is not responding. Waited 5188ms for MotionEvent)
Parent: org.mozilla.geckoview_example/.GeckoViewActivity
Load: 8.0 / 3.64 / 1.93
----- Output from /proc/pressure/memory -----
some avg10=37.97 avg60=10.86 avg300=3.04 total=13642847
full avg10=22.46 avg60=6.41 avg300=1.74 total=7288254
----- End output from /proc/pressure/memory -----

Also got a crash on another try, possibly related:

2021-03-29 09:24:28.623 org.mozilla.geckoview_example A/MOZ_Assert: Assertion failure: mFirstFrameRefreshArea.Contains(entry.mDirtyRect), at /builds/worker/checkouts/gecko/image/AnimationFrameBuffer.cpp:412
2021-03-29 09:24:28.638 org.mozilla.geckoview_example A/MOZ_Assert: #01: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x2238680]
2021-03-29 09:24:28.638 org.mozilla.geckoview_example A/MOZ_Assert: #02: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x22383bc]
2021-03-29 09:24:28.638 org.mozilla.geckoview_example A/MOZ_Assert: #03: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x2258d98]
2021-03-29 09:24:28.639 org.mozilla.geckoview_example A/MOZ_Assert: #04: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x22a9928]
2021-03-29 09:24:28.640 org.mozilla.geckoview_example A/MOZ_Assert: #05: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x22b625c]
2021-03-29 09:24:28.640 org.mozilla.geckoview_example A/MOZ_Assert: #06: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x22a0580]
2021-03-29 09:24:28.641 org.mozilla.geckoview_example A/MOZ_Assert: #07: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x228afc4]
2021-03-29 09:24:28.641 org.mozilla.geckoview_example A/MOZ_Assert: #08: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x2298c38]
2021-03-29 09:24:28.641 org.mozilla.geckoview_example A/MOZ_Assert: #09: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x2299550]
2021-03-29 09:24:28.645 org.mozilla.geckoview_example A/MOZ_Assert: #10: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x46423c4]
2021-03-29 09:24:28.645 org.mozilla.geckoview_example A/MOZ_Assert: #11: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x4641ed4]
2021-03-29 09:24:28.646 org.mozilla.geckoview_example A/MOZ_Assert: #12: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x229a580]
2021-03-29 09:24:28.646 org.mozilla.geckoview_example A/MOZ_Assert: #13: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x22c649c]
2021-03-29 09:24:28.646 org.mozilla.geckoview_example A/MOZ_Assert: #14: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x2299dc0]
2021-03-29 09:24:28.646 org.mozilla.geckoview_example A/MOZ_Assert: #15: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x2232884]
2021-03-29 09:24:28.646 org.mozilla.geckoview_example A/MOZ_Assert: #16: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x223259c]
2021-03-29 09:24:28.646 org.mozilla.geckoview_example A/MOZ_Assert: #17: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x2244ed4]
2021-03-29 09:24:28.650 org.mozilla.geckoview_example A/MOZ_Assert: #18: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libxul.so +0x11b1b38]
2021-03-29 09:24:28.651 org.mozilla.geckoview_example A/MOZ_Assert: #19: ???[/data/app/~~mVY1lQvpe7aF2tAAIkNa0Q==/org.mozilla.geckoview_example-qI2pXZFCIJAQMgpNNaDmlg==/lib/arm64/libnss3.so +0x11db50]
2021-03-29 09:24:28.652 org.mozilla.geckoview_example A/MOZ_Assert: #20: ???[/apex/com.android.runtime/lib64/bionic/libc.so +0xafd50]
2021-03-29 09:24:28.652 org.mozilla.geckoview_example A/MOZ_Assert: #21: ???[/apex/com.android.runtime/lib64/bionic/libc.so +0x5028c]
2021-03-29 09:24:28.652 org.mozilla.geckoview_example A/MOZ_Assert: #22: ??? (???:???)

Bryce is this a media issue?

Flags: needinfo?(bvandyk)

Sorry I haven't had time to look at this sooner. I see the asserting frame in comment 1 has AnimationFrameBuffer.cpp at the top, and after looking at the page and checking out several of the images, they appear to be pngs -- so I think this could be on the image side. Andrew, do you know who would be appropriate to look at this?

Flags: needinfo?(bvandyk) → needinfo?(aosmond)
Component: General → Graphics
Product: GeckoView → Core

This assert is debug only so presumably that isn't causing the reported issue. I've spent some taking looking at it, and I think what it asserts is simply not true, it depends on event ordering. It should be safe to just remove it.

Flags: needinfo?(aosmond)

Are we able to get anything more than just a main thread hang? Does it generate a crash report when it force closes the app? It would be ideal to know where this is happening. If you are able to exit from this state without crashing, could we turn on profiling?

Flags: needinfo?(petru.lingurar)
Flags: needinfo?(jnicol)
Severity: -- → S3
Priority: -- → P3

(In reply to Andrew Osmond [:aosmond] from comment #5)

Are we able to get anything more than just a main thread hang? Does it generate a crash report when it force closes the app? It would be ideal to know where this is happening. If you are able to exit from this state without crashing, could we turn on profiling?

Here is a "Firefox Graphics" profile - https://share.firefox.dev/3nkbdMc
Captured it after the browser wasn't responding anymore. While capturing I got ANRs from the app and thne from SystemUI but fortunately this didn't crash the system / restart the device.

Flags: needinfo?(petru.lingurar)
You need to log in before you can comment on or make changes to this bug.