Closed Bug 1157269 Opened 9 years ago Closed 6 years ago

ANR Executing service org.mozilla.firefox_beta/org.mozilla.gecko.background.healthreport.prune.HealthReportPruneService

Categories

(Android Background Services Graveyard :: Firefox Health Report Service, defect)

Firefox 40
ARM
Android
defect
Not set
normal

Tracking

(firefox37 affected, firefox38 affected, firefox39 affected, firefox40 affected, fennec+)

RESOLVED INVALID
Tracking Status
firefox37 --- affected
firefox38 --- affected
firefox39 --- affected
firefox40 --- affected
fennec + ---

People

(Reporter: aaronmt, Unassigned)

References

Details

Attachments

(1 file)

Attached file allthreads.log
This is a high volume ANR reported on the Play console dashboard


---- pid 19220 at 2015-01-11 00:37:45 -----
Cmd line: org.mozilla.firefox_beta

JNI: CheckJNI is off; workarounds are off; pins=0; globals=429

DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)

"main" prio=5 tid=1 TIMED_WAIT
| group="main" sCount=1 dsCount=0 obj=0x41793ea0 self=0x4177a028
| sysTid=19220 nice=-11 sched=0/0 cgrp=apps handle=1074508116
| state=S schedstat=( 0 0 0 ) utm=1359 stm=355 core=0
at java.lang.Object.wait(Native Method)
- waiting on <0x41fa2ea8> (a java.lang.Object)
at java.lang.Object.wait(Object.java:401)
at org.mozilla.gecko.GeckoAppShell.sendEventToGeckoSync(GeckoAppShell.java:513)
at org.mozilla.gecko.gfx.GLController.serverSurfaceDestroyed(GLController.java:146)
at org.mozilla.gecko.gfx.LayerView.access$300(LayerView.java:52)
at org.mozilla.gecko.gfx.LayerView$SurfaceListener.surfaceDestroyed(LayerView.java:547)
at android.view.SurfaceView.updateWindow(SurfaceView.java:586)
at android.view.SurfaceView.onWindowVisibilityChanged(SurfaceView.java:240)
at android.view.View.dispatchWindowVisibilityChanged(View.java:8509)
at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1096)
at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1096)
at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1096)
at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1096)
at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1096)
at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1096)
at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1096)
at android.view.ViewGroup.dispatchWindowVisibilityChanged(ViewGroup.java:1096)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1537)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6637)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:814)
at android.view.Choreographer.doCallbacks(Choreographer.java:614)
at android.view.Choreographer.doFrame(Choreographer.java:584)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:800)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
tracking-fennec: --- → ?
Component: General → Firefox Health Report Service
Flags: needinfo?(michael.l.comella)
Product: Firefox for Android → Android Background Services
Aaron, I don't see anything in the logs indicating this is from the HealthReportPruneService - how do you know that? Was it from information in the Google Play dashboard? Also, do you know how long this ANR has been visible for? I haven't made any changes to the PruneService recently.

The logs indicate the issue in GeckoAppShell.sendEventToGeckoSync, which states [1]:

 // Block the current thread until the Gecko event loop is caught up

I wonder if Gecko just isn't running (e.g. it's killed! But then maybe everything Fennec would be killed). I don't think the PruneService relies on Gecko though (e.g. the ProfileInformationCache) so this interaction is altogether weird.

Note that there is no direct use of sendEventToGeckoSync from PruneService [2]. sendEventToGeckoSync seems to be used by shutdown routines (GeckoAppShell), low memory routines (MemoryMonitor), and gfx routines (GLController). If this is actually related to PruneService, my best guess is that our SQL queries are allocating a lot of memory and we're getting a low memory warning.

Might be good to try to figure out if the browser is or is not running when this happens.

[1]: https://mxr.mozilla.org/mozilla-beta/source/mobile/android/base/GeckoAppShell.java#501
[2]: https://mxr.mozilla.org/mozilla-beta/search?string=sendeventtogeckosync&filter=^[^\0]*%24
Flags: needinfo?(michael.l.comella) → needinfo?(aaron.train)
(In reply to Michael Comella (:mcomella) from comment #1)
> Aaron, I don't see anything in the logs indicating this is from the
> HealthReportPruneService - how do you know that? Was it from information in
> the Google Play dashboard? Also, do you know how long this ANR has been
> visible for? I haven't made any changes to the PruneService recently.

This is from the dashboard, these reports re grouped under that signature. Earliest builds reported are on 34.0 so this is nothing new.
Flags: needinfo?(aaron.train)
13:44 <@rnewman> mcomella: re that ANR: presumably main-thread SQL, or we're blocking the healthreport DB and thus stalling out the main activity
tracking-fennec: ? → +
Taking so I don't lose this but not actively working on it so take it if you'd like to work on it.
Assignee: nobody → michael.l.comella
Not actively working on this.
Assignee: michael.l.comella → nobody
We don't do FHR anymore.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: