Permanent devtools/server/tests/chrome/test_inspector-dead-nodes.html | TypeError: this.targetFront is null when Gecko 93 merges to Beta on 2021-09-06
Categories
(DevTools :: General, defect)
Tracking
(firefox-esr78 unaffected, firefox-esr91 unaffected, firefox91 unaffected, firefox92 unaffected, firefox93+ verified)
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox-esr91 | --- | unaffected |
firefox91 | --- | unaffected |
firefox92 | --- | unaffected |
firefox93 | + | verified |
People
(Reporter: aryx, Assigned: jdescottes)
References
(Blocks 1 open bug)
Details
(Keywords: regression)
Attachments
(1 file)
Could this be from bug 1702715? This hadn't been observed on Tuesday.
[task 2021-08-18T19:14:45.204Z] 19:14:45 INFO - Start watching for root nodes and wait for the initial root node
[task 2021-08-18T19:14:45.205Z] 19:14:45 INFO - Getting a nodeFront, reloading the page, and calling walker.children(nodeFront) before the load completes shouldn't fail
[task 2021-08-18T19:14:45.205Z] 19:14:45 INFO - Buffered messages finished
[task 2021-08-18T19:14:45.206Z] 19:14:45 INFO - TEST-UNEXPECTED-FAIL | devtools/server/tests/chrome/test_inspector-dead-nodes.html | TypeError: this.targetFront is null
Updated•3 years ago
|
Assignee | ||
Comment 1•3 years ago
|
||
Yes, this is a regression from bug 1702715, there is a bad interaction between two prefs:
- devtools.browsertoolbox.fission=false
- devtools.target-switching.server.enabled=true
The first one is true on Nightly only, the second one was flipped to true after bug 1702715.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
•
|
||
The issue comes from this NodeFront getter:
get remoteFrame() {
if (!BROWSER_TOOLBOX_FISSION_ENABLED && this.targetFront.isParentProcess) {
return false;
}
return this._form.remoteFrame;
}
On Beta, BROWSER_TOOLBOX_FISSION_ENABLED is false so we check this.targetFront.isParentProcess
.
However after Bug 1702715, targets are destroyed on reload, and we happen to call this on NodeFront from a reloaded target.
This means the NodeFront is now destroyed and this.targetFront
is null.
This test seems borderline irrelevant. It was supposed to test calling APIs during reload, however the objects on which the APIs are called are now destroyed on reload. We already had to modify the test to make it fully wait for the reload to be over, it's not clear if we should keep this test.
Assignee | ||
Comment 3•3 years ago
|
||
Pushed by jdescottes@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ba789be08c4e [devtools] Avoid error in NodeFront remoteFrame() if devtools.browsertoolbox.fission=false r=bomsy
Comment 5•3 years ago
|
||
bugherder |
Comment 6•3 years ago
|
||
Verified fixed in latest beta sim: https://treeherder.mozilla.org/jobs?repo=try&resultStatus=testfailed%2Cbusted%2Cexception%2Crunnable&revision=28ffb4be550647e0b907071bf2b71494dc0c62f7
Description
•