Closed Bug 1699729 Opened 4 years ago Closed 4 years ago

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)

defect

Tracking

(firefox-esr78 unaffected, firefox86 unaffected, firefox87 unaffected, firefox88+ fixed, firefox89+ fixed)

RESOLVED FIXED
89 Branch
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) | Async
open@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

Flags: needinfo?(poirot.alex)

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.

Flags: needinfo?(poirot.alex)

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.

Assignee: nobody → jdescottes
Status: NEW → ASSIGNED
Pushed by jdescottes@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/829e8a899fbf [devtools] Do not clear devtools.testing from browser_telemetry_button_responsive.js r=ochameau
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 89 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: