Intermittent dom/webauthn/tests/browser/browser_abort_visibility.js | application crashed [@ MOZ_Crash(char const*, int, char const*)]
Categories
(Core :: DOM: Web Authentication, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox66 | --- | unaffected |
firefox67 | --- | unaffected |
firefox68 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: jcj)
References
(Regression)
Details
(Keywords: crash, intermittent-failure, regression)
Crash Data
Attachments
(1 file)
#[markdown(off)]
Filed by: apavel [at] mozilla.com
https://treeherder.mozilla.org/logviewer.html#?job_id=237279548&repo=mozilla-inbound
Assignee | ||
Comment 1•6 years ago
|
||
Unrelated to bug 1540378. I see it in that bug's try run: https://treeherder.mozilla.org/#/jobs?repo=try&revision=f386611b7cf50f33055ea53aee772bab5e8ef1da&selectedJob=237401684
Assignee | ||
Comment 2•6 years ago
|
||
This was introduced by this change:
https://hg.mozilla.org/mozilla-central/rev/f7937d3264db#l5.17
Specifically, calling SendAbort
during ClearTransaction
is expedient, but it's got edge cases I didn't see during testing - during tab closures, for example, it appears to race the state machine about whether mTransactionParent remains alive long enough to send the abort.
So that's not the right way to handle this. It needs to move somewhere else, I think.
Assignee | ||
Comment 3•6 years ago
|
||
I see what's happening.
WebAuthnTransactionParent::ActorDestroy is called at the conclusion of IPC shutdown, for whatever reason. That calls MaybeClearTransaction in U2FTokenManager, which calls ClearTransaction, which then tries to send an Abort.
Unlike what's going on in Bug 1540378, this bug is new, just straight-up a bug in my visibility changes from bug 1448408.
Assignee | ||
Comment 4•6 years ago
|
||
In Bug 1448408 ("Don't listen to visibility events"), I changed U2FTokenManager:: ClearTransaction
to send aborts, to handle the new visibility states. However,
WebAuthnTransactionParent::ActorDestroy
is called at the conclusion of IPC
shutdown, which calls MaybeClearTransaction
in U2FTokenManager
, which calls
ClearTransaction, which then tries to send an Abort, which is a state machine
failure since we just shut the IPC down.
This patch creates a new AbortOngoingTransaction
method which is used
to send the aborts instead of shoehorning that into ClearTransaction
, reverting
ClearTransaction
back to the prior form, and instead changes Register
and
Sign
to call the new method.
Comment hidden (Intermittent Failures Robot) |
Comment 9•6 years ago
|
||
bugherder |
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•3 years ago
|
Description
•