Closed
Bug 1505685
Opened 7 years ago
Closed 7 years ago
Receiver not registered: HeadSetStateReceiver, PackageAddedReceiver
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox63 wontfix, firefox64 fixed, firefox65 fixed)
RESOLVED
FIXED
Firefox 65
People
(Reporter: petru, Assigned: petru)
References
Details
(Keywords: crash)
Crash Data
Attachments
(3 files, 2 obsolete files)
As a continuation of bug 1501648 this should be investigated more to find the culprit and fix it.
| Assignee | ||
Updated•7 years ago
|
Assignee: nobody → petru.lingurar
Blocks: 1501648
Status: NEW → ASSIGNED
status-firefox63:
--- → affected
status-firefox64:
--- → affected
status-firefox65:
--- → affected
OS: Unspecified → Android
| Assignee | ||
Comment 1•7 years ago
|
||
Speculative fix for avoiding the situation in which the initialization of Mma
and registering of the PackageAddedReceiver continues on the background thread
after BrowserActivity is destroyed and calls for unregistering the receiver.
By registering the receiver on the main thread we have the benefit of
sequentially execution which would guarantee that the registration is done
before trying to unregister it.
| Assignee | ||
Comment 2•7 years ago
|
||
Executing SwitchBoard.loadConfig() on a background thread is the main purpose
of the AsyncConfigLoader so executing it immediately again in the same thread
is redundant.
Depends on D12031
| Assignee | ||
Comment 3•7 years ago
|
||
Speculative fix.
initialize() is called by Gecko on it's background thread after it started.
The value for the "dom.audiochannel.mediaControl" preference also comes on a
background thread.
This both can end up registering the HeadSetStateReceiver while unregistering it
happens only on the main thread.
The patch tries to avoid the race condition by making sure Receiver's
registering and unregistering is done serially on the main thread.
Depends on D12032
| Assignee | ||
Comment 4•7 years ago
|
||
Executing SwitchBoard.loadConfig() on a background thread is the main purpose
of the AsyncConfigLoader so executing it immediately again in the same thread
is redundant.
Depends on D12031
Depends on D12031
| Assignee | ||
Comment 5•7 years ago
|
||
Speculative fix.
initialize() is called by Gecko on it's background thread after it started.
The value for the "dom.audiochannel.mediaControl" preference also comes on a
background thread.
This both can end up registering the HeadSetStateReceiver while unregistering it
happens only on the main thread.
The patch tries to avoid the race condition by making sure Receiver's
registering and unregistering is done serially on the main thread.
Depends on D12032
Depends on D12305
Updated•7 years ago
|
Attachment #9026110 -
Attachment is obsolete: true
Updated•7 years ago
|
Attachment #9026111 -
Attachment is obsolete: true
| Assignee | ||
Comment 6•7 years ago
|
||
The new differentials apparently were caused because "moz-phab don't yet support reordering/merging/adding/deleting commits".
So after updating patches in a stack they should be submitted manually with arcanist, at least until bug 1481539 is resolved.
| Assignee | ||
Updated•7 years ago
|
Keywords: checkin-needed
Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9344087c8d8e
Part 1 - Register PackageAddedReceiver on the main thread; r=JanH
https://hg.mozilla.org/integration/mozilla-inbound/rev/a46710b7723f
Part 2 - Cleanup - remove second SwitchBoard.loadConfig(); r=JanH
https://hg.mozilla.org/integration/mozilla-inbound/rev/6e2a67a9a9c9
Part 3 - Register HeadSetStateReceiver on the main thread; r=JanH
Keywords: checkin-needed
Comment 8•7 years ago
|
||
Backed out for android checkstyle failures on GeckoMediaControlAgent.
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=success%2Ctestfailed%2Cbusted%2Cexception&fromchange=6e2a67a9a9c9b5d15e9231716f869fc522dfa99b&tochange=86d8ead0b9a51d9cd0f780e0c279f8a86d2b187e&searchStr=android%2C4.0%2Capi16%2B%2Copt%2Candroid%2Cgradle%2Ctests%2Cbuild-android-checkstyle%2Fopt%2Ca%28checkstyle%29&selectedJob=213094199
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=213094199&repo=mozilla-inbound&lineNumber=2976
Backout link: https://hg.mozilla.org/integration/mozilla-inbound/rev/86d8ead0b9a51d9cd0f780e0c279f8a86d2b187e
Flags: needinfo?(petru.lingurar)
| Assignee | ||
Updated•7 years ago
|
Flags: needinfo?(petru.lingurar)
Keywords: checkin-needed
Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/cbe820dfb9ad
Part 1 - Register PackageAddedReceiver on the main thread; r=JanH
https://hg.mozilla.org/integration/mozilla-inbound/rev/2a75f31dcd5f
Part 2 - Cleanup - remove second SwitchBoard.loadConfig(); r=JanH
https://hg.mozilla.org/integration/mozilla-inbound/rev/be4f02491218
Part 3 - Register HeadSetStateReceiver on the main thread; r=JanH
Keywords: checkin-needed
Comment 10•7 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/cbe820dfb9ad
https://hg.mozilla.org/mozilla-central/rev/2a75f31dcd5f
https://hg.mozilla.org/mozilla-central/rev/be4f02491218
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 65
Updated•7 years ago
|
Crash Signature: [@ java.lang.IllegalArgumentException: at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java)]
Comment 11•7 years ago
|
||
Fixed on 64 through bug 1501648, which disabled the diagnostic crashes on Beta.
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•