MOZ_RELEASE_ASSERT(IsTop()); in GetDownloadFolderOverride when enumerating properties of a child BrowsingContext
Categories
(Remote Protocol :: WebDriver BiDi, defect, P3)
Tracking
(firefox-esr140 unaffected, firefox150 unaffected, firefox151 unaffected, firefox152 fixed)
| Tracking | Status | |
|---|---|---|
| firefox-esr140 | --- | unaffected |
| firefox150 | --- | unaffected |
| firefox151 | --- | unaffected |
| firefox152 | --- | fixed |
People
(Reporter: robwu, Assigned: Sasha)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression, Whiteboard: [webdriver:m20])
Attachments
(1 file)
When I tried to examine properties of a child BrowsingContext in the Browser Console, the whole browser crashed before I hit enter. This appears to be caused by eager evaluation while typing gBrowser.selectedBrowser.browsingContext.children[0], a self-contained test case is included in the STR below.
STR:
- Open a page with iframes: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe
- Open the Browser Console and run:
bc=gBrowser.selectedBrowser.browsingContext.children[0];for(let k in bc)void bc[k]
Expected:
- No crash, maybe a runtime error at most.
Actual:
-
Crash, with stack:
mozilla::dom::CanonicalBrowsingContext::GetDownloadFolderOverridemozilla::dom::CanonicalBrowsingContext_Binding::get_downloadFolderOverride
This is due to the MOZ_RELEASE_ASSERT(IsTop()) at https://searchfox.org/firefox-main/rev/a353242aeafd56b2c21a2c0672ecb51ea1b81142/docshell/base/CanonicalBrowsingContext.h#395-396
I see that the code may be inspired by similar code above those lines, but the difference between the previously existing code and the new one is that IsPriorityActive is C++ only, whereas the new GetDownloadFolderOverride getter is also exposed to JS. We shouldn't crash here.
Comment 1•27 days ago
|
||
Set release status flags based on info from the regressing bug 2017252
:Sasha, since you are the author of the regressor, bug 2017252, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
| Assignee | ||
Updated•27 days ago
|
| Assignee | ||
Comment 2•27 days ago
|
||
Updated•27 days ago
|
| Assignee | ||
Updated•27 days ago
|
Comment 4•26 days ago
|
||
| bugherder | ||
Updated•20 days ago
|
Description
•