Perma devtools/client/shared/test/browser_theme_switching.js | The main process DevToolsServer has no pending connection when the test ends when Gecko 88 merges to Beta on 2021-03-22
Categories
(DevTools :: General, defect)
Tracking
(firefox-esr78 unaffected, firefox86 unaffected, firefox87 unaffected, firefox88+ fixed, firefox89+ fixed)
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox86 | --- | unaffected |
firefox87 | --- | unaffected |
firefox88 | + | fixed |
firefox89 | + | fixed |
People
(Reporter: aryx, Assigned: jdescottes)
Details
(Keywords: regression)
Attachments
(1 file)
Related to bug 1699432?
[task 2021-03-19T14:54:47.186Z] 14:54:47 INFO - TEST-PASS | devtools/client/shared/test/browser_theme_switching.js | There is a stylesheet for chrome://devtools/skin/light-theme.css -
[task 2021-03-19T14:54:47.186Z] 14:54:47 INFO - Leaving test bound
[task 2021-03-19T14:54:47.186Z] 14:54:47 INFO - Buffered messages finished
[task 2021-03-19T14:54:47.186Z] 14:54:47 INFO - TEST-UNEXPECTED-FAIL | devtools/client/shared/test/browser_theme_switching.js | The main process DevToolsServer has no pending connection when the test ends -
[task 2021-03-19T14:54:47.187Z] 14:54:47 INFO - Stack trace:
[task 2021-03-19T14:54:47.187Z] 14:54:47 INFO - chrome://mochikit/content/browser-test.js:test_ok:1331
[task 2021-03-19T14:54:47.187Z] 14:54:47 INFO - chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js:cleanup:316
[task 2021-03-19T14:54:47.193Z] 14:54:47 INFO - GECKO(2822) | console.warn: "Error while destroying front:" "performance" (new Error("Connection closed, pending request to server0.conn31.child4/performanceActor11, type connect failed\n\nRequest stack:\nrequest@resource://devtools/shared/protocol/Front.js:285:14\ngenerateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:46:19\nconnect@resource://devtools/client/fronts/performance.js:49:36\nasyncinitialize@resource://devtools/client/fronts/performance.js:40:16\nmanage@resource://devtools/shared/protocol/Front.js:142:19\ngetFront@resource://devtools/shared/protocol/types.js:552:18\ngetFront@resource://devtools/client/fronts/targets/target-mixin.js:288:15\ninitPerformance@resource://devtools/client/framework/toolbox.js:3917:48\nopen/<@resource://devtools/client/framework/toolbox.js:956:47\nAsyncopen@resource://devtools/client/framework/toolbox.js:968:18\n_createToolbox@resource://devtools/client/framework/devtools.js:657:19\nasyncshowToolbox@resource://devtools/client/framework/devtools.js:516:35\nshowToolboxForTab@resource://devtools/client/framework/devtools.js:571:17\nasync@chrome://mochitests/content/browser/devtools/client/shared/test/browser_theme_switching.js:8:35\nTester_execTest/<@chrome://mochikit/content/browser-test.js:1089:34\nTester_execTest@chrome://mochikit/content/browser-test.js:1129:11\nnextTest/<@chrome://mochikit/content/browser-test.js:949:14\nSimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1037:23\n", "resource://devtools/shared/protocol/Front.js", 99))
[task 2021-03-19T14:54:47.193Z] 14:54:47 INFO - GECKO(2822) | JavaScript error: resource://devtools/shared/protocol/Front.js, line 99: Error: Connection closed, pending request to server0.conn31.child4/performanceActor11, type connect failed
[task 2021-03-19T14:54:47.193Z] 14:54:47 INFO - GECKO(2822) | Request stack:
[task 2021-03-19T14:54:47.193Z] 14:54:47 INFO - GECKO(2822) | request@resource://devtools/shared/protocol/Front.js:285:14
[task 2021-03-19T14:54:47.194Z] 14:54:47 INFO - GECKO(2822) | generateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:46:19
[task 2021-03-19T14:54:47.194Z] 14:54:47 INFO - GECKO(2822) | connect@resource://devtools/client/fronts/performance.js:49:36
[task 2021-03-19T14:54:47.194Z] 14:54:47 INFO - GECKO(2822) | asyncinitialize@resource://devtools/client/fronts/performance.js:40:16
[task 2021-03-19T14:54:47.195Z] 14:54:47 INFO - GECKO(2822) | manage@resource://devtools/shared/protocol/Front.js:142:19
[task 2021-03-19T14:54:47.203Z] 14:54:47 INFO - GECKO(2822) | getFront@resource://devtools/shared/protocol/types.js:552:18
[task 2021-03-19T14:54:47.203Z] 14:54:47 INFO - GECKO(2822) | getFront@resource://devtools/client/fronts/targets/target-mixin.js:288:15
[task 2021-03-19T14:54:47.204Z] 14:54:47 INFO - GECKO(2822) | initPerformance@resource://devtools/client/framework/toolbox.js:3917:48
[task 2021-03-19T14:54:47.207Z] 14:54:47 INFO - GECKO(2822) | open/<@resource://devtools/client/framework/toolbox.js:956:47
[task 2021-03-19T14:54:47.207Z] 14:54:47 INFO - GECKO(2822) | Asyncopen@resource://devtools/client/framework/toolbox.js:968:18
[task 2021-03-19T14:54:47.208Z] 14:54:47 INFO - GECKO(2822) | _createToolbox@resource://devtools/client/framework/devtools.js:657:19
[task 2021-03-19T14:54:47.209Z] 14:54:47 INFO - GECKO(2822) | asyncshowToolbox@resource://devtools/client/framework/devtools.js:516:35
[task 2021-03-19T14:54:47.209Z] 14:54:47 INFO - GECKO(2822) | showToolboxForTab@resource://devtools/client/framework/devtools.js:571:17
[task 2021-03-19T14:54:47.209Z] 14:54:47 INFO - GECKO(2822) | async@chrome://mochitests/content/browser/devtools/client/shared/test/browser_theme_switching.js:8:35
[task 2021-03-19T14:54:47.210Z] 14:54:47 INFO - GECKO(2822) | Tester_execTest/<@chrome://mochikit/content/browser-test.js:1089:34
[task 2021-03-19T14:54:47.211Z] 14:54:47 INFO - GECKO(2822) | Tester_execTest@chrome://mochikit/content/browser-test.js:1129:11
[task 2021-03-19T14:54:47.212Z] 14:54:47 INFO - GECKO(2822) | nextTest/<@chrome://mochikit/content/browser-test.js:949:14
[task 2021-03-19T14:54:47.213Z] 14:54:47 INFO - GECKO(2822) | SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1037:23
[task 2021-03-19T14:54:47.218Z] 14:54:47 INFO - Console message: [JavaScript Error: "Error: Connection closed, pending request to server0.conn31.child4/performanceActor11, type connect failed
Assignee | ||
Comment 1•4 years ago
|
||
Note that on Beta we use the old performance panel, via the preference "devtools.performance.new-panel-enabled" (https://searchfox.org/mozilla-central/rev/31b583bbcc9cfaacd93e785c05dda0e87d7cca4e/browser/app/profile/firefox.js#2418-2422).
When the new panel is used, we skip initializing the performance front https://searchfox.org/mozilla-central/rev/31b583bbcc9cfaacd93e785c05dda0e87d7cca4e/devtools/client/framework/toolbox.js#3913
And the failure we see here is related to the performance front initialization.
This is reproducible on m-c if you run with --setpref devtools.performance.new-panel-enabled=false
, but you need to run the test together with another test from the same suite: devtools/client/shared/test/browser_telemetry_button_responsive.js. The reason is that this test is (wrongly) clearing the devtools.testing
preference at the end of the test. And we rely on this flag in the toolbox init to wait for the performance front to initialize.
Not completely clear why this didn't fail before, but in the last cycle we changed a bit the toolbox initialization. The target used to be ready before we opened the toolbox, and this is no longer the case, the Toolbox now triggers the creation of the target. So I'm not too surprised about this new race issue.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
This preference is set for all tests via testing/profiles/unittest-required/user.js
Individual mochitests should not update or clear this preference.
This lead to subsequent tests running with devtools.testing = false, which meant that toolbox.open was no longer waiting for the PerformanceFront initialization.
Updated•4 years ago
|
Comment 3•4 years ago
|
||
Updated•4 years ago
|
Comment 5•4 years ago
|
||
bugherder uplift |
Comment 6•4 years ago
|
||
bugherder |
Description
•