Closed Bug 1737387 Opened 3 years ago Closed 3 years ago

Intermittent devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | A promise chain failed to handle a rejection: can't access property "top", nextProps.toolboxDoc.defaultView is null - stack: componentWillReceiveProps@resourc

Categories

(DevTools :: Inspector: Rules, defect, P5)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

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

References

Details

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

Attachments

(3 files, 2 obsolete files)

Filed by: imoraru [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=355818286&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/QtipLnVhQhC2268r2kaHGw/runs/0/artifacts/public/logs/live_backing.log


[task 2021-10-23T04:32:50.674Z] 04:32:50     INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | We're not simulating color-scheme anymore - 
[task 2021-10-23T04:32:50.675Z] 04:32:50     INFO - Close responsive design mode
[task 2021-10-23T04:32:50.675Z] 04:32:50     INFO - Buffered messages finished
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | A promise chain failed to handle a rejection: can't access property "top", nextProps.toolboxDoc.defaultView is null - stack: componentWillReceiveProps@resource://devtools/client/shared/components/menu/MenuButton.js:139:17
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - callComponentWillReceiveProps@resource://devtools/client/shared/vendor/react-dom.js:8303:14
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - updateClassInstance@resource://devtools/client/shared/vendor/react-dom.js:8482:36
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - updateClassComponent@resource://devtools/client/shared/vendor/react-dom.js:10599:20
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - beginWork@resource://devtools/client/shared/vendor/react-dom.js:11419:16
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - performUnitOfWork@resource://devtools/client/shared/vendor/react-dom.js:14702:12
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - workLoop@resource://devtools/client/shared/vendor/react-dom.js:14720:24
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - renderRoot@resource://devtools/client/shared/vendor/react-dom.js:14803:15
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - performWorkOnRoot@resource://devtools/client/shared/vendor/react-dom.js:15655:17
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - performWork@resource://devtools/client/shared/vendor/react-dom.js:15567:24
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - performSyncWork@resource://devtools/client/shared/vendor/react-dom.js:15541:14
[task 2021-10-23T04:32:50.680Z] 04:32:50     INFO - requestWork@resource://devtools/client/shared/vendor/react-dom.js:15410:5
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - scheduleWork@resource://devtools/client/shared/vendor/react-dom.js:15224:16
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - enqueueSetState@resource://devtools/client/shared/vendor/react-dom.js:8192:17
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - Component.prototype.setState@resource://devtools/client/shared/vendor/react.js:328:16
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - onStateChange@resource://devtools/client/shared/vendor/react-redux.js:1412:16
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - dispatch@resource://devtools/client/shared/vendor/redux.js:265:7
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - log/</<@resource://devtools/client/shared/redux/middleware/log.js:27:9
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - exports.history/</</<@resource://devtools/client/shared/redux/middleware/history.js:23:9
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - waitUntilService/</<@resource://devtools/client/shared/redux/middleware/wait-service.js:59:24
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - promiseMiddleware/</<@resource://devtools/client/shared/redux/middleware/promise.js:24:14
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - thunk/</</<@resource://devtools/client/shared/redux/middleware/thunk.js:18:11
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - dispatch@resource://devtools/client/shared/vendor/redux.js:681:28
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - loadDevices/<@resource://devtools/client/responsive/actions/devices.js:182:17
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - async*thunk/</</<@resource://devtools/client/shared/redux/middleware/thunk.js:17:11
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - @resource://devtools/client/responsive/index.js:98:19
[task 2021-10-23T04:32:50.681Z] 04:32:50     INFO - promise callback*@resource://devtools/client/responsive/index.js:97:35
[task 2021-10-23T04:32:50.682Z] 04:32:50     INFO - Rejection date: Sat Oct 23 2021 04:32:48 GMT+0000 (Coordinated Universal Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 271
[task 2021-10-23T04:32:50.682Z] 04:32:50     INFO - Stack trace:
[task 2021-10-23T04:32:50.682Z] 04:32:50     INFO - resource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:271
[task 2021-10-23T04:32:50.682Z] 04:32:50     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1122
[task 2021-10-23T04:32:50.682Z] 04:32:50     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1131
[task 2021-10-23T04:32:50.682Z] 04:32:50     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:939
[task 2021-10-23T04:32:50.682Z] 04:32:50     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/<:1041
[task 2021-10-23T04:32:50.682Z] 04:32:50     INFO - Leaving test bound 
[task 2021-10-23T04:32:51.024Z] 04:32:51     INFO - Removing tab.
[task 2021-10-23T04:32:51.028Z] 04:32:51     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2021-10-23T04:32:51.035Z] 04:32:51     INFO - Got event: 'TabClose' on [object XULElement].
[task 2021-10-23T04:32:51.057Z] 04:32:51     INFO - Tab removed and finished closing
[task 2021-10-23T04:32:51.086Z] 04:32:51     INFO - GECKO(8696) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2021-10-23T04:32:51.088Z] 04:32:51     INFO - GECKO(8696) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2021-10-23T04:32:51.134Z] 04:32:51     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2021-10-23T04:32:51.136Z] 04:32:51     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2021-10-23T04:32:51.140Z] 04:32:51     INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | The main process DevToolsServer has no pending connection when the test ends - 
[task 2021-10-23T04:32:51.184Z] 04:32:51     INFO - GECKO(8696) | MEMORY STAT | vsize 3886MB | residentFast 794MB | heapAllocated 413MB
[task 2021-10-23T04:32:51.186Z] 04:32:51     INFO - TEST-OK | devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | took 5356ms
[task 2021-10-23T04:32:51.224Z] 04:32:51     INFO - checking window state
[task 2021-10-23T04:32:51.255Z] 04:32:51     INFO - TEST-START | devtools/client/inspector/rules/test/browser_rules_colorpicker-and-image-tooltip_01.js

Update:
There have been 29 failures within the last 7 days:
• 4 failures on Linux 18.04 x64 WebRender asan opt
• 2 failures on Linux 18.04 x64 WebRender debug
• 15 failures on Linux 18.04 x64 WebRender opt
• 7 failures on Linux 18.04 x64 WebRender Shippable opt
• 1 failures on OS X 10.15 WebRender debug
Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=369398968&repo=autoland&lineNumber=3217

[task 2022-02-28T01:25:20.000Z] 01:25:20     INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | We're not simulating color-scheme anymore - 
[task 2022-02-28T01:25:20.000Z] 01:25:20     INFO - Close responsive design mode
[task 2022-02-28T01:25:20.001Z] 01:25:20     INFO - Buffered messages finished
[task 2022-02-28T01:25:20.003Z] 01:25:20     INFO - TEST-UNEXPECTED-FAIL | devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | A promise chain failed to handle a rejection: can't access property "top", nextProps.toolboxDoc.defaultView is null - stack: componentWillReceiveProps@resource://devtools/client/shared/components/menu/MenuButton.js:139:17
[task 2022-02-28T01:25:20.003Z] 01:25:20     INFO - callComponentWillReceiveProps@resource://devtools/client/shared/vendor/react-dom.js:8303:14
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - updateClassInstance@resource://devtools/client/shared/vendor/react-dom.js:8482:36
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - updateClassComponent@resource://devtools/client/shared/vendor/react-dom.js:10599:20
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - beginWork@resource://devtools/client/shared/vendor/react-dom.js:11419:16
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - performUnitOfWork@resource://devtools/client/shared/vendor/react-dom.js:14702:12
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - workLoop@resource://devtools/client/shared/vendor/react-dom.js:14720:24
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - renderRoot@resource://devtools/client/shared/vendor/react-dom.js:14803:15
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - performWorkOnRoot@resource://devtools/client/shared/vendor/react-dom.js:15655:17
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - performWork@resource://devtools/client/shared/vendor/react-dom.js:15567:24
[task 2022-02-28T01:25:20.004Z] 01:25:20     INFO - performSyncWork@resource://devtools/client/shared/vendor/react-dom.js:15541:14
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - requestWork@resource://devtools/client/shared/vendor/react-dom.js:15410:5
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - scheduleWork@resource://devtools/client/shared/vendor/react-dom.js:15224:16
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - enqueueSetState@resource://devtools/client/shared/vendor/react-dom.js:8192:17
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - Component.prototype.setState@resource://devtools/client/shared/vendor/react.js:328:16
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - onStateChange@resource://devtools/client/shared/vendor/react-redux.js:1412:16
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - dispatch@resource://devtools/client/shared/vendor/redux.js:265:7
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - log/</<@resource://devtools/client/shared/redux/middleware/log.js:27:9
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - waitUntilService/</<@resource://devtools/client/shared/redux/middleware/wait-service.js:59:24
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - promiseMiddleware/</<@resource://devtools/client/shared/redux/middleware/promise.js:24:14
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - thunk/</</<@resource://devtools/client/shared/redux/middleware/thunk.js:18:11
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - dispatch@resource://devtools/client/shared/vendor/redux.js:681:28
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - loadDevices/<@resource://devtools/client/responsive/actions/devices.js:182:17
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - async*thunk/</</<@resource://devtools/client/shared/redux/middleware/thunk.js:17:11
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - @resource://devtools/client/responsive/index.js:98:19
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - promise callback*@resource://devtools/client/responsive/index.js:97:35
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - Rejection date: Mon Feb 28 2022 01:25:17 GMT+0000 (Coordinated Universal Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 271
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - Stack trace:
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - resource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:271
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - chrome://mochikit/content/browser-test.js:handleTask:1017
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1061
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1189
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:978
[task 2022-02-28T01:25:20.007Z] 01:25:20     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/<:1041
[task 2022-02-28T01:25:20.008Z] 01:25:20     INFO - Leaving test bound 
[task 2022-02-28T01:25:20.008Z] 01:25:20     INFO - GECKO(1600) | console.log: "[DISPATCH] action type:" "UPDATE_OFFSET_PARENT"
[task 2022-02-28T01:25:20.008Z] 01:25:20     INFO - GECKO(1600) | console.log: "[DISPATCH] action type:" "UPDATE_LAYOUT"
[task 2022-02-28T01:25:20.009Z] 01:25:20     INFO - GECKO(1600) | JavaScript error: resource://devtools/server/connectors/js-window-actor/DevToolsFrameParent.jsm, line 217: TypeError: can't access property "notifyTargetDestroyed", watcher is undefined
[task 2022-02-28T01:25:20.009Z] 01:25:20     INFO - GECKO(1600) | JavaScript error: resource://devtools/server/connectors/js-window-actor/DevToolsFrameParent.jsm, line 217: TypeError: can't access property "notifyTargetDestroyed", watcher is undefined
[task 2022-02-28T01:25:20.378Z] 01:25:20     INFO - Removing tab.
[task 2022-02-28T01:25:20.378Z] 01:25:20     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2022-02-28T01:25:20.398Z] 01:25:20     INFO - Got event: 'TabClose' on [object XULElement].
[task 2022-02-28T01:25:20.418Z] 01:25:20     INFO - Tab removed and finished closing
[task 2022-02-28T01:25:20.437Z] 01:25:20     INFO - GECKO(1600) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2022-02-28T01:25:20.441Z] 01:25:20     INFO - Console message: [JavaScript Error: "TypeError: can't access property "notifyTargetDestroyed", watcher is undefined" {file: "resource://devtools/server/connectors/js-window-actor/DevToolsFrameParent.jsm" line: 217}]
[task 2022-02-28T01:25:20.442Z] 01:25:20     INFO - receiveMessage@resource://devtools/server/connectors/js-window-actor/DevToolsFrameParent.jsm:217:11
<...>
[task 2022-02-28T01:25:20.463Z] 01:25:20     INFO - _runTaskBasedTest@chrome://mochikit/content/browser-test.js:1061:18
[task 2022-02-28T01:25:20.463Z] 01:25:20     INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:1189:14
[task 2022-02-28T01:25:20.463Z] 01:25:20     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:978:14
[task 2022-02-28T01:25:20.463Z] 01:25:20     INFO - SimpleTest.waitForFocus/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:1041:13
[task 2022-02-28T01:25:20.463Z] 01:25:20     INFO - 
[task 2022-02-28T01:25:20.463Z] 01:25:20     INFO - GECKO(1600) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2022-02-28T01:25:20.463Z] 01:25:20     INFO - GECKO(1600) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2022-02-28T01:25:20.488Z] 01:25:20     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2022-02-28T01:25:20.488Z] 01:25:20     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2022-02-28T01:25:20.488Z] 01:25:20     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2022-02-28T01:25:20.488Z] 01:25:20     INFO - TEST-PASS | devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | The main process DevToolsServer has no pending connection when the test ends - 
[task 2022-02-28T01:25:20.498Z] 01:25:20     INFO - GECKO(1600) | MEMORY STAT | vsize 20984229MB | residentFast 1919MB
[task 2022-02-28T01:25:20.498Z] 01:25:20     INFO - TEST-OK | devtools/client/inspector/rules/test/browser_rules_color_scheme_simulation_rdm.js | took 5914ms
[task 2022-02-28T01:25:20.544Z] 01:25:20     INFO - checking window state
[task 2022-02-28T01:25:20.563Z] 01:25:20     INFO - TEST-START | devtools/client/inspector/rules/test/browser_rules_colorpicker-and-image-tooltip_01.js
Whiteboard: [stockwell needswork:owner]

Hi Julian! Can you please take a look at this? Maybe you could help us assign this to someone.
Thank you!

Flags: needinfo?(jdescottes)
Blocks: 1742173
Blocks: 1757940
Blocks: 1619738
Blocks: 1651267
Blocks: 1724266
Blocks: 1726766
Blocks: 1730838

I think all those tests share the same issue. One of the toolbox buttons (usually RDM) is updated while the toolbox is being destroyed.
We unplug the buttons by calling teardown in the toolbox destructor, but most likely here the button update got triggered before teardown was called.

I guess we can either:

  • silence the exception (check that toolboxDoc.defaultView exists, maybe still throw if toolbox is not being destroyed)
  • or update the tests to properly wait until the button has been updated
Assignee: nobody → jdescottes
Status: NEW → ASSIGNED
Flags: needinfo?(jdescottes)
Attachment #9267626 - Attachment is obsolete: true
Attachment #9267627 - Attachment is obsolete: true
Keywords: leave-open

setting leave open because we are not sure the patches will be enough to fix the intermittent here

Pushed by jdescottes@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a70a31132103 [devtools] Use shared helpers to open/close RDM in tests r=ochameau https://hg.mozilla.org/integration/autoland/rev/4615d16e3512 [devtools] Destroy the RDM frame before disconnecting it from the parent document r=ochameau

It doesn't seem to fix the issue, I got the failure on a try push prior to landing the patches: https://treeherder.mozilla.org/jobs?repo=try&revision=27b3bd0dcb4f64d092c119e429ffbf022953c60d&selectedTaskRun=PZ0G7Lm-TgSpugyQ2zuG4Q.0

Regressions: 1759710
Attachment #9267828 - Attachment description: Bug 1737387 - [devtools] Wait for devices list in openRDM → Bug 1737387 - [devtools] Add option to wait for devices list in openRDM
No longer regressions: 1759710
Pushed by jdescottes@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f29a20e183f2 [devtools] Add option to wait for devices list in openRDM r=ochameau

This should be fixed with the last patch which reached central. Closing.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Keywords: leave-open
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: