Opening multiple pages from Bookmarks and navigating through them [@ mozilla::java::RuntimeTelemetry::Proxy::DispatchHistogram ]
Categories
(GeckoView :: General, defect, P1)
Tracking
(firefox86 fixed)
| Tracking | Status | |
|---|---|---|
| firefox86 | --- | fixed |
People
(Reporter: ekager, Assigned: esawin)
Details
(Whiteboard: [geckoview:m87])
Crash Data
Attachments
(1 file)
|
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta-
pascalc
:
approval-mozilla-release-
|
Details | Review |
From github: https://github.com/mozilla-mobile/fenix/issues/16203.
Steps to reproduce
- Make sure you are signed in with your FxA account, and have multiple bookmarks saved.
- Go to Bookmarks, select at least 6-7 pages, and choose to open them in new tabs.
- Go to the tabs tray and open each page, one by one. Let the pages load.
Expected behavior
The browsing should go smoothly, without issues.
Actual behavior
Fenix crashes. First, the tabs tray remains blank, and the user cannot access anything else. Fenix freezes. Force closed doesn't solve the issue every time.
Device information
- Android device: Samsung Galaxy Tab A6 (Android 5.1.1)
- Fenix version: 10/26 Nightly build
Notes
- Reproduced it 2/2. Did not reproduced the crash when opening multiple pages from History.
- Not reproducible on Xiaomi Mi8 Lite (Android 9)
Details of the crash
0e2f9fdd-44b8-4a64-8a8c-1955d37df93b
<native crash>
<native crash>
Change performed by the Move to Bugzilla add-on.
| Reporter | ||
Comment 1•5 years ago
|
||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
| Assignee | ||
Comment 2•5 years ago
|
||
If I'm reading the crash stack correctly, then Proxy::mCtx seems to be null here which seems like an impossible scenario given that the proxy ref is only set once on startup and never reassigned or deleted.
Chris, do you see something that could trigger this, maybe a SendBatch race, within the batching code?
Comment 3•5 years ago
|
||
I'm not sure how a race would make the context null, could you expand on that a bit?
Looking at this crash holistically... I don't know what Fenix's releases are like, but that crash volume graph looks to track Firefox 83 pretty closely. Looking at changes to anything in EXTRACT around that time, the closest thing seems to be that Bug 1664475 and Bug 1671729 added a lot of probes. Accumulation to bug 1664475's probes could happen particularly early and frequently, so if there is some race, those probes would be my bet on which ones would find it.
| Assignee | ||
Comment 4•5 years ago
|
||
| Assignee | ||
Comment 5•5 years ago
|
||
I've found one, potentially unrelated, issue about the way we register the telemetry proxy.
Currently, we register/attach it on construction, where construction is triggered by enabling the appropriate runtime setting. This is not correct, since up to the instantiation of the runtime, settings may change (in theory). Patch 1 should fix that.
I don't see anything else right now that could introduce a race condition where native code ends up with an invalid proxy reference.
Comment 7•5 years ago
|
||
| bugherder | ||
| Assignee | ||
Comment 8•5 years ago
|
||
Comment on attachment 9197754 [details]
Bug 1682005 - [1.0] Attach the telemetry proxy when attaching to the runtime to avoid premature proxy registration.
Beta/Release Uplift Approval Request
- User impact if declined: Intermittent crash on page load.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce: https://github.com/mozilla-mobile/fenix/issues/16203
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The patch only moves the attaching of the Java telemetry delegate later into the startup process to avoid a race. The fix has been confirmed on Fenix Nightly.
- String changes made/needed: None
Comment 9•5 years ago
|
||
Comment on attachment 9197754 [details]
Bug 1682005 - [1.0] Attach the telemetry proxy when attaching to the runtime to avoid premature proxy registration.
Approved for 86 beta, thanks.
Comment 10•5 years ago
|
||
Comment on attachment 9197754 [details]
Bug 1682005 - [1.0] Attach the telemetry proxy when attaching to the runtime to avoid premature proxy registration.
Actually, this patch landed in 86 so we shouldn't need an uplift to beta, Eugen, am I missing something? Did you mean maybe requesting an uplift to an 85 dot release?
| Assignee | ||
Comment 11•5 years ago
|
||
(In reply to Pascal Chevrel:pascalc from comment #10)
Comment on attachment 9197754 [details]
Bug 1682005 - [1.0] Attach the telemetry proxy when attaching to the runtime to avoid premature proxy registration.Actually, this patch landed in 86 so we shouldn't need an uplift to beta, Eugen, am I missing something? Did you mean maybe requesting an uplift to an 85 dot release?
I'm seeing this crash as early as 83 albeit in lower volume. So uplifting to 85 seems sensible, too.
Comment 12•5 years ago
|
||
Eugen, please request an uplift for Release then. Thanks
Updated•5 years ago
|
| Assignee | ||
Comment 13•5 years ago
|
||
Comment on attachment 9197754 [details]
Bug 1682005 - [1.0] Attach the telemetry proxy when attaching to the runtime to avoid premature proxy registration.
Beta/Release Uplift Approval Request
- User impact if declined: Intermittent crash on page load.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce: https://github.com/mozilla-mobile/fenix/issues/16203
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The patch only ensures that a specific JNI object isn't attached before it is fully initialized to avoid a race. The fix has been confirmed on Fenix Nightly.
- String changes made/needed: None
Comment 14•5 years ago
•
|
||
Comment on attachment 9197754 [details]
Bug 1682005 - [1.0] Attach the telemetry proxy when attaching to the runtime to avoid premature proxy registration.
We don't have an 85 dot release planned before 86 goes live next week. Also, I am not seeing a drop of crashes in Nightly & Beta since that patch landed.
Description
•