Closed Bug 1571828 Opened 3 years ago Closed 3 years ago

Intermittent devtools/client/aboutdebugging-new/test/browser/browser_aboutdebugging_serviceworker_not_compatible.js | A promise chain failed to handle a rejection: this.transport is null - stack: send@resource://devtools/server/main.js:1108:5

Categories

(DevTools :: about:debugging, defect, P5)

defect

Tracking

(firefox-esr60 unaffected, firefox-esr68 unaffected, firefox68 unaffected, firefox69 unaffected, firefox70 fixed)

RESOLVED FIXED
Firefox 70
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox68 --- unaffected
firefox69 --- unaffected
firefox70 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: jdescottes)

Details

(Keywords: intermittent-failure, regression, Whiteboard: [stockwell disable-recommended])

Attachments

(1 file, 1 obsolete file)

Filed by: apavel [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=260141541&repo=autoland
Full log: https://queue.taskcluster.net/v1/task/Abt2gCU4Qxq3_RBhdzBH_A/runs/0/artifacts/public/logs/live_backing.log


[task 2019-08-06T16:34:59.234Z] 16:34:59 INFO - TEST-START | devtools/client/aboutdebugging-new/test/browser/browser_aboutdebugging_serviceworker_not_compatible.js
[task 2019-08-06T16:35:02.813Z] 16:35:02 INFO - GECKO(900) | console.log: "Request to connect to ProcessDescriptor "5" failed: Error: Connection closed, pending request to server0.conn75.processDescriptor43, type getTarget failed\n\nRequest stack:\nrequest@resource://devtools/shared/protocol/Front.js:166:14\ngenerateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:49:19\ngetTarget/this._targetFrontPromise<@resource://devtools/shared/fronts/descriptors/process.js:65:40\ngetTarget@resource://devtools/shared/fronts/descriptors/process.js:82:7\nlistAllWorkers@resource://devtools/shared/fronts/root.js:95:52\nasynclistWorkers@resource://devtools/client/aboutdebugging-new/src/modules/client-wrapper.js:157:36\nrequestWorkers/<@resource://devtools/client/aboutdebugging-new/src/actions/debug-targets.js:286:31\nthunk/</<@resource://devtools/client/shared/redux/middleware/thunk.js:15:9\ndispatch@resource://devtools/client/shared/vendor/redux.js:755:18\nonWorkersUpdated@resource://devtools/client/aboutdebugging-new/src/middleware/debug-target-listener.js:23:11\nemit@resource://devtools/shared/event-emitter.js:190:24\nemit@resource://devtools/shared/event-emitter.js:271:18\nonPacket@resource://devtools/shared/protocol/Front.js:204:13\nonPacket@resource://devtools/shared/client/debugger-client.js:593:13\nsend/<@resource://devtools/shared/transport/local-transport.js:70:25\nexports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22\nDevToolsUtils.executeSoonexports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29\nsend@resource://devtools/shared/transport/local-transport.js:58:21\nsend@resource://devtools/server/main.js:1108:20\nonProcessListChanged@resource://devtools/server/actors/root.js:581:15\n_notifyListChanged@resource://devtools/server/actors/process.js:75:12\n_onMessage@resource://devtools/server/actors/process.js:84:10\nMessageListener.receiveMessage*_checkListening@resource://devtools/server/actors/process.js:65:12\ngetList@resource://devtools/server/actors/process.js:38:10\nonListProcesses@resource://devtools/server/actors/root.js:558:35\nonPacket@resource://devtools/server/main.js:1402:58\nsend/<@resource://devtools/shared/transport/local-transport.js:70:25\nexports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22\nDevToolsUtils.executeSoonexports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29\nsend@resource://devtools/shared/transport/local-transport.js:58:21\nsend@resource://devtools/shared/protocol/Front.js:150:30\nrequest@resource://devtools/shared/protocol/Front.js:168:10\ngenerateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:49:19\nlistProcesses@resource://devtools/shared/fronts/root.js:169:39\nlistAllWorkers@resource://devtools/shared/fronts/root.js:89:40\nasynclistWorkers@resource://devtools/client/aboutdebugging-new/src/modules/client-wrapper.js:157:36\nrequestWorkers/<@resource://devtools/client/aboutdebugging-new/src/actions/debug-targets.js:286:31\nthunk/</<@resource://devtools/client/shared/redux/middleware/thunk.js:15:9\ndispatch@resource://devtools/client/shared/vendor/redux.js:755:18\nwatchRuntime/<@resource://devtools/client/aboutdebugging-new/src/actions/runtimes.js:330:15\nasyncthunk/</<@resource://devtools/client/shared/redux/middleware/thunk.js:15:9\ndispatch@resource://devtools/client/shared/vendor/redux.js:755:18\nselectPage/<@resource://devtools/client/aboutdebugging-new/src/actions/ui.js:80:15\nthunk/</<@resource://devtools/client/shared/redux/middleware/thunk.js:15:9\ncomponentWillMount@resource://devtools/client/aboutdebugging-new/src/components/RuntimePage.js:83:13\ncallComponentWillMount@resource://devtools/client/shared/vendor/react-dom.js:8286:14\nmountClassInstance@resource://devtools/client/shared/vendor/react-dom.js:8345:27\nupdateClassComponent@resource://devtools/client/shared/vendor/react-dom.js:10593:23\nbeginWork@resource://devtools/client/shared/vendor/react-dom.js:11419:16\nperformUnitOfWork@resource://devtools/client/shared/vendor/react-dom.js:14702:12\nworkLoop@resource://devtools/client/shared/vendor/react-dom.js:14720:24\nrenderRoot@resource://devtools/client/shared/vendor/react-dom.js:14803:15\nperformWorkOnRoot@resource://devtools/client/shared/vendor/react-dom.js:15655:17\nperformWork@resource://devtools/client/shared/vendor/react-dom.js:15567:24\nperformSyncWork@resource://devtools/client/shared/vendor/react-dom.js:15541:14\nrequestWork@resource://devtools/client/shared/vendor/react-dom.js:15410:20\nscheduleWork@resource://devtools/client/shared/vendor/react-dom.js:15224:16\nenqueueSetState@resource://devtools/client/shared/vendor/react-dom.js:8192:17\nComponent.prototype.setState@resource://devtools/client/shared/vendor/react.js:328:16\ncomponentWillMount/this.unlisten<@resource://devtools/client/shared/vendor/react-router-dom.js:2117:16\nlistener@resource://devtools/client/shared/vendor/react-router-dom.js:1191:26\ncreateTransitionManager/notifyListeners/<@resource://devtools/client/shared/vendor/react-router-dom.js:1210:25\nnotifyListeners@resource://devtools/client/shared/vendor/react-router-dom.js:1209:17\nsetState@resource://devtools/client/shared/vendor/react-router-dom.js:1651:25\ncreateHashHistory/handlePop/<@resource://devtools/client/shared/vendor/react-router-dom.js:1687:21\nconfirmTransitionTo@resource://devtools/client/shared/vendor/react-router-dom.js:1181:17\nhandlePop@resource://devtools/client/shared/vendor/react-router-dom.js:1685:27\nhandleHashChange@resource://devtools/client/shared/vendor/react-router-dom.js:1674:18\nEventListener.handleEventaddEventListener@resource://devtools/client/shared/vendor/react-router-dom.js:1225:41\n"
[task 2019-08-06T16:35:03.195Z] 16:35:03 INFO - GECKO(900) | console.error: "Error while calling actor 'processDescriptor's method 'getTarget'" "this.transport is null"
[task 2019-08-06T16:35:03.195Z] 16:35:03 INFO - GECKO(900) | console.error: "send@resource://devtools/server/main.js:1108:5\nsendReturn@resource://devtools/shared/protocol/Actor.js:180:16\npromise callbackgenerateRequestHandlers/</handler/<@resource://devtools/shared/protocol/Actor.js:186:14\n_queueResponse@resource://devtools/shared/protocol/Actor.js:107:28\nhandler@resource://devtools/shared/protocol/Actor.js:183:14\nonPacket@resource://devtools/server/main.js:1402:58\nsend/<@resource://devtools/shared/transport/local-transport.js:70:25\nexports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22\nDevToolsUtils.executeSoonexports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29\nsend@resource://devtools/shared/transport/local-transport.js:58:21\nsend@resource://devtools/shared/protocol/Front.js:150:30\nrequest@resource://devtools/shared/protocol/Front.js:168:10\ngenerateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:49:19\ngetTarget/this._targetFrontPromise<@resource://devtools/shared/fronts/descriptors/process.js:65:40\ngetTarget@resource://devtools/shared/fronts/descriptors/process.js:82:7\nlistAllWorkers@resource://devtools/shared/fronts/root.js:95:52\nasynclistWorkers@resource://devtools/client/aboutdebugging-new/src/modules/client-wrapper.js:157:36\nrequestWorkers/<@resource://devtools/client/aboutdebugging-new/src/actions/debug-targets.js:286:31\nthunk/</<@resource://devtools/client/shared/redux/middleware/thunk.js:15:9\ndispatch@resource://devtools/client/shared/vendor/redux.js:755:18\nonWorkersUpdated@resource://devtools/client/aboutdebugging-new/src/middleware/debug-target-listener.js:23:11\nemit@resource://devtools/shared/event-emitter.js:190:24\nemit@resource://devtools/shared/event-emitter.js:271:18\nonPacket@resource://devtools/shared/protocol/Front.js:204:13\nonPacket@resource://devtools/shared/client/debugger-client.js:593:13\nsend/<@resource://devtools/shared/transport/local-transport.js:70:25\nexports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22\nDevToolsUtils.executeSoonexports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29\nsend@resource://devtools/shared/transport/local-transport.js:58:21\nsend@resource://devtools/server/main.js:1108:20\nonProcessListChanged@resource://devtools/server/actors/root.js:581:15\n_notifyListChanged@resource://devtools/server/actors/process.js:75:12\n_onMessage@resource://devtools/server/actors/process.js:84:10\nMessageListener.receiveMessage*_checkListening@resource://devtools/server/actors/process.js:65:12\ngetList@resource://devtools/server/actors/process.js:38:10\n"
[task 2019-08-06T16:35:03.253Z] 16:35:03 INFO - GECKO(900) | JavaScript error: resource://devtools/server/main.js, line 1108: TypeError: this.transport is null

[task 2019-08-06T16:35:13.846Z] 16:35:13 INFO - TEST-PASS | devtools/client/aboutdebugging-new/test/browser/browser_aboutdebugging_serviceworker_not_compatible.js | Warning message is displayed -
[task 2019-08-06T16:35:13.846Z] 16:35:13 INFO - Removing tab.
[task 2019-08-06T16:35:13.846Z] 16:35:13 INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - Got event: 'TabClose' on [object XULElement].
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - Tab removed and finished closing
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - Buffered messages finished
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - TEST-UNEXPECTED-FAIL | devtools/client/aboutdebugging-new/test/browser/browser_aboutdebugging_serviceworker_not_compatible.js | A promise chain failed to handle a rejection: this.transport is null - stack: send@resource://devtools/server/main.js:1108:5
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - writeError@resource://devtools/shared/protocol/Actor.js:98:15
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - generateRequestHandlers/</handler/</<@resource://devtools/shared/protocol/Actor.js:187:30
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - promise callbackgenerateRequestHandlers/</handler/<@resource://devtools/shared/protocol/Actor.js:187:14
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - _queueResponse@resource://devtools/shared/protocol/Actor.js:107:28
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - handler@resource://devtools/shared/protocol/Actor.js:183:14
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - onPacket@resource://devtools/server/main.js:1402:58
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - send/<@resource://devtools/shared/transport/local-transport.js:70:25
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - DevToolsUtils.executeSoon
exports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29
[task 2019-08-06T16:35:13.847Z] 16:35:13 INFO - send@resource://devtools/shared/transport/local-transport.js:58:21
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - send@resource://devtools/shared/protocol/Front.js:150:30
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - request@resource://devtools/shared/protocol/Front.js:168:10
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - generateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:49:19
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - getTarget/this._targetFrontPromise<@resource://devtools/shared/fronts/descriptors/process.js:65:40
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - getTarget@resource://devtools/shared/fronts/descriptors/process.js:82:7
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - listAllWorkers@resource://devtools/shared/fronts/root.js:95:52
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - asynclistWorkers@resource://devtools/client/aboutdebugging-new/src/modules/client-wrapper.js:157:36
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - requestWorkers/<@resource://devtools/client/aboutdebugging-new/src/actions/debug-targets.js:286:31
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - thunk/</<@resource://devtools/client/shared/redux/middleware/thunk.js:15:9
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - dispatch@resource://devtools/client/shared/vendor/redux.js:755:18
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - onWorkersUpdated@resource://devtools/client/aboutdebugging-new/src/middleware/debug-target-listener.js:23:11
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - emit@resource://devtools/shared/event-emitter.js:190:24
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - emit@resource://devtools/shared/event-emitter.js:271:18
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - onPacket@resource://devtools/shared/protocol/Front.js:204:13
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - onPacket@resource://devtools/shared/client/debugger-client.js:593:13
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - send/<@resource://devtools/shared/transport/local-transport.js:70:25
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - DevToolsUtils.executeSoon
exports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - send@resource://devtools/shared/transport/local-transport.js:58:21
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - send@resource://devtools/server/main.js:1108:20
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - onProcessListChanged@resource://devtools/server/actors/root.js:581:15
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - _notifyListChanged@resource://devtools/server/actors/process.js:75:12
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - _onMessage@resource://devtools/server/actors/process.js:84:10
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - MessageListener.receiveMessage*_checkListening@resource://devtools/server/actors/process.js:65:12
[task 2019-08-06T16:35:13.848Z] 16:35:13 INFO - getList@resource://devtools/server/actors/process.js:38:10
[task 2019-08-06T16:35:13.849Z] 16:35:13 INFO - Rejection date: Tue Aug 06 2019 16:35:03 GMT+0000 (Greenwich Mean Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 263

Julian, could you please take a look over what's going on here? This has hit the disable recommended list and if fails across osx, linux and windows platforms.
Recent failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=262851607&repo=mozilla-central

Flags: needinfo?(jdescottes)

Thanks for the heads up Cosmin!

This failure indicates that the list of processes changed and triggered an update of the list of workers in about:debugging which didn't have time to complete before the test ended.

To avoid this we have two options:

  • wait for requests to finish on the devtools client
  • or block worker updates completely (because they are hard to control from within the test)

Here, even though it is a service worker test, we are not actually adding or removing workers so we can go with the second option.
I would prefer to try that before disabling the test.

Flags: needinfo?(jdescottes)
Assignee: nobody → jdescottes
Status: NEW → ASSIGNED
Attachment #9087303 - Attachment is obsolete: true
Pushed by jdescottes@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/341c1129fd52
Disable worker updates in browser_aboutdebugging_serviceworker_not_compatible.js r=daisuke
Whiteboard: [stockwell disable-recommended]
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 70
You need to log in before you can comment on or make changes to this bug.