java.lang.NullPointerException at org.mozilla.gecko.background.healthreport.HealthReportBroadcastService.onHandleIntent(HealthReportBroadcastService.java:104) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.os.HandlerThread.run(HandlerThread.java:61) There is still a large volume of crash reports on the Android Google Play Dashboard with this signature. User messages seem to indicate that this happens on startup.
You say "still" - what's the history here?
nm, was thinking of the org.mozilla.gecko.background.healthreport.prune.HealthReportPruneService ANR which is still high volume
See also Bug 903136.
It looks like this occurs if the intent is null. Which is unexpected in an IntentService, and yet people see it for other services. Misc research findings: https://code.google.com/p/gcm/issues/detail?id=20 http://pastebin.com/gfY4EjD7 http://stackoverflow.com/questions/15808793/how-could-intent-be-null-in-onhandleintent http://stackoverflow.com/questions/8421430/reasons-that-the-passed-intent-would-be-null-in-onstartcommand?rq=1
Created attachment 8440842 [details] [review] Proposed patch. v1
Comment on attachment 8440842 [details] [review] Proposed patch. v1 r+ w/ nits.
This warrants uplift after bake.
Comment on attachment 8440842 [details] [review] Proposed patch. v1 [Approval Request Comment] Bug caused by (feature/regressing bug #): Old work for HealthReport service, but generally all services. User impact if declined: Occasional crashes. Testing completed (on m-c, etc.): Only positive testing: doesn't regress normal behavior. This patch addresses edge case crashes. Risk to taking this patch (and alternatives if risky): Null checks, so should be ~none. String or IDL/UUID changes made by this patch: None.