Closed Bug 1576472 Opened 5 years ago Closed 5 years ago

Intermittent toolkit/mozapps/extensions/test/browser/browser_about_debugging_link.js | A promise chain failed to handle a rejection: this.transport is null - stack: send@resource://devtools/server/debugger-server-connection.js:89:5

Categories

(Toolkit :: Add-ons Manager, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox67 --- unaffected
firefox68 --- unaffected
firefox69 --- unaffected
firefox70 --- unaffected
firefox71 --- fixed

People

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

References

(Regression)

Details

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

Attachments

(1 file)

Filed by: nbeleuzu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=263388042&repo=mozilla-central
Full log: https://queue.taskcluster.net/v1/task/ZGDtXvQWTxSL7dSLmT85MQ/runs/0/artifacts/public/logs/live_backing.log


[task 2019-08-25T11:23:26.026Z] 11:23:26 INFO - TEST-PASS | toolkit/mozapps/extensions/test/browser/browser_about_debugging_link.js | Should be closing window with correct URI -
[task 2019-08-25T11:23:26.026Z] 11:23:26 INFO - Telling manager window to close
[task 2019-08-25T11:23:26.026Z] 11:23:26 INFO - Manager window close() call returned
[task 2019-08-25T11:23:26.027Z] 11:23:26 INFO - Leaving test bound testAboutDebugging
[task 2019-08-25T11:23:26.028Z] 11:23:26 INFO - Buffered messages finished
[task 2019-08-25T11:23:26.035Z] 11:23:26 INFO - TEST-UNEXPECTED-FAIL | toolkit/mozapps/extensions/test/browser/browser_about_debugging_link.js | A promise chain failed to handle a rejection: this.transport is null - stack: send@resource://devtools/server/debugger-server-connection.js:89:5
[task 2019-08-25T11:23:26.036Z] 11:23:26 INFO - writeError@resource://devtools/shared/protocol/Actor.js:98:15
[task 2019-08-25T11:23:26.036Z] 11:23:26 INFO - generateRequestHandlers/</handler/</<@resource://devtools/shared/protocol/Actor.js:187:30
[task 2019-08-25T11:23:26.037Z] 11:23:26 INFO - promise callbackgenerateRequestHandlers/</handler/<@resource://devtools/shared/protocol/Actor.js:187:14
[task 2019-08-25T11:23:26.037Z] 11:23:26 INFO - _queueResponse@resource://devtools/shared/protocol/Actor.js:107:28
[task 2019-08-25T11:23:26.038Z] 11:23:26 INFO - handler@resource://devtools/shared/protocol/Actor.js:183:14
[task 2019-08-25T11:23:26.038Z] 11:23:26 INFO - onPacket@resource://devtools/server/debugger-server-connection.js:378:58
[task 2019-08-25T11:23:26.039Z] 11:23:26 INFO - send/<@resource://devtools/shared/transport/local-transport.js:70:25
[task 2019-08-25T11:23:26.039Z] 11:23:26 INFO - exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22
[task 2019-08-25T11:23:26.039Z] 11:23:26 INFO - DevToolsUtils.executeSoon
exports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29
[task 2019-08-25T11:23:26.040Z] 11:23:26 INFO - send@resource://devtools/shared/transport/local-transport.js:58:21
[task 2019-08-25T11:23:26.040Z] 11:23:26 INFO - send@resource://devtools/shared/protocol/Front.js:160:30
[task 2019-08-25T11:23:26.040Z] 11:23:26 INFO - request@resource://devtools/shared/protocol/Front.js:178:10
[task 2019-08-25T11:23:26.041Z] 11:23:26 INFO - generateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:49:19
[task 2019-08-25T11:23:26.041Z] 11:23:26 INFO - getTarget/this._targetFrontPromise<@resource://devtools/shared/fronts/descriptors/process.js:66:40
[task 2019-08-25T11:23:26.041Z] 11:23:26 INFO - getTarget@resource://devtools/shared/fronts/descriptors/process.js:83:7
[task 2019-08-25T11:23:26.041Z] 11:23:26 INFO - listAllWorkers@resource://devtools/shared/fronts/root.js:103:52
[task 2019-08-25T11:23:26.041Z] 11:23:26 INFO - asynclistWorkers@resource://devtools/client/aboutdebugging/src/modules/client-wrapper.js:157:36
[task 2019-08-25T11:23:26.041Z] 11:23:26 INFO - requestWorkers/<@resource://devtools/client/aboutdebugging/src/actions/debug-targets.js:305:31
[task 2019-08-25T11:23:26.041Z] 11:23:26 INFO - thunk/</<@resource://devtools/client/shared/redux/middleware/thunk.js:15:9
[task 2019-08-25T11:23:26.041Z] 11:23:26 INFO - dispatch@resource://devtools/client/shared/vendor/redux.js:755:18
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - onWorkersUpdated@resource://devtools/client/aboutdebugging/src/middleware/debug-target-listener.js:23:11
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - emit@resource://devtools/shared/event-emitter.js:190:24
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - emit@resource://devtools/shared/event-emitter.js:271:18
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - onPacket@resource://devtools/shared/protocol/Front.js:214:13
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - onPacket@resource://devtools/shared/client/debugger-client.js:593:13
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - send/<@resource://devtools/shared/transport/local-transport.js:70:25
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - DevToolsUtils.executeSoon
exports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29
[task 2019-08-25T11:23:26.042Z] 11:23:26 INFO - send@resource://devtools/shared/transport/local-transport.js:58:21
[task 2019-08-25T11:23:26.043Z] 11:23:26 INFO - send@resource://devtools/server/debugger-server-connection.js:89:20
[task 2019-08-25T11:23:26.043Z] 11:23:26 INFO - onProcessListChanged@resource://devtools/server/actors/root.js:579:15
[task 2019-08-25T11:23:26.043Z] 11:23:26 INFO - _notifyListChanged@resource://devtools/server/actors/process.js:75:12
[task 2019-08-25T11:23:26.043Z] 11:23:26 INFO - _onMessage@resource://devtools/server/actors/process.js:84:10
[task 2019-08-25T11:23:26.043Z] 11:23:26 INFO - MessageListener.receiveMessage*_checkListening@resource://devtools/server/actors/process.js:65:12
[task 2019-08-25T11:23:26.044Z] 11:23:26 INFO - getList@resource://devtools/server/actors/process.js:38:10
[task 2019-08-25T11:23:26.044Z] 11:23:26 INFO - onListProcesses@resource://devtools/server/actors/root.js:556:35
[task 2019-08-25T11:23:26.044Z] 11:23:26 INFO - onPacket@resource://devtools/server/debugger-server-connection.js:378:58
[task 2019-08-25T11:23:26.044Z] 11:23:26 INFO - send/<@resource://devtools/shared/transport/local-transport.js:70:25
[task 2019-08-25T11:23:26.045Z] 11:23:26 INFO - exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:111:22
[task 2019-08-25T11:23:26.045Z] 11:23:26 INFO - DevToolsUtils.executeSoon*exports.executeSoon@resource://devtools/shared/DevToolsUtils.js:62:29
[task 2019-08-25T11:23:26.045Z] 11:23:26 INFO - send@resource://devtools/shared/transport/local-transport.js:58:21

This permafails on Linux x64 debug fission since bug 1580561 landed.

Flags: needinfo?(lgreco)
Regressed by: 1580561

browser_about_debugging_link.js is testing the page options that open (or switch) to about:debugging
from about:addons.

This test seems to be failing intermittently because there are pending RDP requests when the about:debugging
tab is being closed once the test is completed.

We already had a similar issue before and at the time daisuke provided us the test helpers currently used
in the test to wait for the tabs, workers and extensions to be populated in the store.

Unfortunately this doesn't seem enough anymore, especially with fission enabled the test is keep
failing because it seems that some new RDP requests are pending when we are closing the tab
(from the stacktrace it seems that the pending requests are triggered by the "processes updates listener").

The waitForRequestsToSettle test helper used in some other about:debugging tests seems to be able to fix
the intermittent failure (trying on linux64 debug locally it passed test-verify multiple times).

The changes from the patches landed from Bug 1580561 shouldn't be able to trigger an higher intermittency in this unrelated test.

I was able to reproduce the failure intermittently using --verify locally, and so I took a look and based on this stack trace that I noticed when I've been able to reproduce it locally:

console.error: "[ACTION FAILED] REQUEST_TABS_FAILURE: Connection closed, pending request to root, type listTabs failed
Request stack:
  request@resource://devtools/shared/protocol/Front.js:167:14
  generateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:49:19
  listTabs@resource://devtools/shared/fronts/root.js:317:44
  listTabs@resource://devtools/client/aboutdebugging/src/modules/client-wrapper.js:133:33
  requestTabs/<@resource://devtools/client/aboutdebugging/src/actions/debug-targets.js:209:31
  thunk/</<@resource://devtools/client/shared/redux/middleware/thunk.js:15:9
  dispatch@resource://devtools/client/shared/vendor/redux.js:755:18
  onTabsUpdated@resource://devtools/client/aboutdebugging/src/middleware/debug-target-listener.js:19:11
  ...

the failure seems to be due to the reasons described in comment 8 (with attached a patch for feedback/review from the DevTools team).

Flags: needinfo?(lgreco)
Pushed by luca.greco@alcacoop.it:
https://hg.mozilla.org/integration/autoland/rev/c157c41fcb26
Fix browser_about_debugging_link.js intermittent failure due to RDP requests pending while closing the tab. r=jdescottes
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Assignee: nobody → lgreco
See Also: → 1593402
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: