Closed Bug 1651267 Opened 5 years ago Closed 3 years ago

Intermittent devtools/client/shared/test/browser_telemetry_button_responsive.js | A promise chain failed to handle a rejection: nextProps.toolboxDoc.defaultView is null - stack: componentWillReceiveProps@resource://devtools/client/shared/components/menu/M

Categories

(DevTools :: General, defect, P5)

defect

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: intermittent-failure)

Filed by: abutkovits [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=308899612&repo=mozilla-beta
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/LC8li17tS523epAYhh_JOg/runs/0/artifacts/public/logs/live_backing.log


[task 2020-07-08T01:02:50.177Z] 01:02:50 INFO - TEST-PASS | devtools/client/shared/test/browser_telemetry_button_responsive.js | Captain, we have the button -
[task 2020-07-08T01:02:50.178Z] 01:02:50 INFO - Clicking button command-button-responsive
[task 2020-07-08T01:02:50.179Z] 01:02:50 INFO - Buffered messages logged at 01:02:44
[task 2020-07-08T01:02:50.179Z] 01:02:50 INFO - Clicking button command-button-responsive
[task 2020-07-08T01:02:50.180Z] 01:02:50 INFO - Console message: [JavaScript Error: "TypeError: nextProps.toolboxDoc.defaultView is null" {file: "resource://devtools/client/shared/components/menu/MenuButton.js" line: 139}]
[task 2020-07-08T01:02:50.180Z] 01:02:50 INFO - Buffered messages logged at 01:02:45
[task 2020-07-08T01:02:50.181Z] 01:02:50 INFO - Clicking button command-button-responsive
[task 2020-07-08T01:02:50.181Z] 01:02:50 INFO - Buffered messages logged at 01:02:46
[task 2020-07-08T01:02:50.181Z] 01:02:50 INFO - Clicking button command-button-responsive
[task 2020-07-08T01:02:50.182Z] 01:02:50 INFO - Buffered messages logged at 01:02:48
[task 2020-07-08T01:02:50.182Z] 01:02:50 INFO - TEST-PASS | devtools/client/shared/test/browser_telemetry_button_responsive.js | DEVTOOLS_RESPONSIVE_OPENED_COUNT correct. -
[task 2020-07-08T01:02:50.182Z] 01:02:50 INFO - TEST-PASS | devtools/client/shared/test/browser_telemetry_button_responsive.js | DEVTOOLS_RESPONSIVE_TIME_ACTIVE_SECONDS has at least one entry. -
[task 2020-07-08T01:02:50.183Z] 01:02:50 INFO - Buffered messages finished
[task 2020-07-08T01:02:50.185Z] 01:02:50 INFO - TEST-UNEXPECTED-FAIL | devtools/client/shared/test/browser_telemetry_button_responsive.js | A promise chain failed to handle a rejection: nextProps.toolboxDoc.defaultView is null - stack: componentWillReceiveProps@resource://devtools/client/shared/components/menu/MenuButton.js:139:17

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 5 years ago4 years ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---

Intermittent failure for toolbox button update, same issue as Bug 1737387

Depends on: 1737387

This one would still need some additional waiting code on top of what landed for Bug 1737387
For instance around:

    const toggled = waitForToggle();
    node.click();
    await toggled;

we should wait for the RDM init:

  const ui = ResponsiveUIManager.getResponsiveUIForTab(tab);
  await waitForRDMLoaded(ui);

However since the test is testing successive clicks on the button, it might not be appropriate to simply wait as it could make the test irrelevant.
I assume in this case the only way to fix this would be to either:

  • ignore promise rejections in the test
  • or add a guard in DeviceSelector, when the menu button is rendered with a disconnected document

As a reminder, when we close responsive mode, the rdm frame gets disconnected from the parent document, and at that point its document loses the defaultView property which leads to this error.

Status: REOPENED → RESOLVED
Closed: 4 years ago3 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.