WebAuthnManager re-adds JS holder with different cycle collector participant
Categories
(Core :: DOM: Web Authentication, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox76 | --- | fixed |
People
(Reporter: jonco, Assigned: mccr8)
Details
Attachments
(1 file)
While working on bug 1425450 I added an assertion that we don't attempt to re-add the same JS holder with a different cycle collector participant. This produced a few failures on try related to WebAuthnManager:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=295730560&repo=try&lineNumber=1634
Assignee | ||
Comment 1•5 years ago
|
||
From the line numbers in the try push assertion, it looks like the issue is that AuthenticatorAssertionResponse is a subclass of AuthenticatorResponse, and they both call hold in their respective ctors. The way that the holds works for ISupports objects is that it calls QI to get the participant, which normally means that both calls would return the same participant, but I think the issue here is that the vtable for the AuthenticatorAssertionResponse is still set to AuthenticatorResponse when we run the latter's ctor.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
It looks like this one change will fix the places that failed in Jon's try push above, but I'll double check.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=46149d31267a87ed3f54d1e33ecbb4708399801a
Assignee | ||
Comment 3•5 years ago
|
||
Comment 5•5 years ago
|
||
bugherder |
Description
•