Open Bug 1781941 Opened 2 years ago Updated 3 days ago

Intermittent devtools/client/debugger/test/mochitest/browser_dbg-integration-reloading-uncompressed-sourcemaps.js | single tracking bug

Categories

(DevTools :: Debugger, defect, P5)

defect

Tracking

(Not tracked)

REOPENED

People

(Reporter: intermittent-bug-filer, Assigned: ochameau, NeedInfo)

References

Details

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

Attachments

(1 file, 1 obsolete file)

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


[task 2022-07-27T20:54:30.371Z] 20:54:30     INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-integration-reloading-uncompressed-sourcemaps.js | undefined assertion name - 
[task 2022-07-27T20:54:30.372Z] 20:54:30     INFO - Buffered messages finished
[task 2022-07-27T20:54:30.373Z] 20:54:30     INFO - TEST-UNEXPECTED-FAIL | devtools/client/debugger/test/mochitest/browser_dbg-integration-reloading-uncompressed-sourcemaps.js | A promise chain failed to handle a rejection: Parser: source source-http://localhost:50539/bundle-with-another-original.js/originalSource-2f508a2e8b3e0384b3c7a591bb292db5 was not provided. - stack: _onMessage/<@resource://devtools/client/shared/worker-utils.js:91:21
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - _onMessage@resource://devtools/client/shared/worker-utils.js:87:20
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - EventListener.handleEvent*start@resource://devtools/client/shared/worker-utils.js:21:17
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - bootstrapWorkers@resource://devtools/client/debugger/src/utils/bootstrap.js:93:10
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - bootstrap@resource://devtools/client/debugger/src/main.js:95:51
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - async*open@resource://devtools/client/debugger/panel.js:68:38
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - async*onLoad@resource://devtools/client/framework/toolbox.js:2654:27
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - Rejection date: Wed Jul 27 2022 20:54:28 GMT+0000 (Greenwich Mean Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 270
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - Stack trace:
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - resource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:270
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - chrome://mochikit/content/browser-test.js:handleTask:1016
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1060
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1195
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:977
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/<:1038
[task 2022-07-27T20:54:30.374Z] 20:54:30     INFO - Leaving test bound 
[task 2022-07-27T20:54:30.500Z] 20:54:30     INFO - Removing tab.
[task 2022-07-27T20:54:30.500Z] 20:54:30     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2022-07-27T20:54:30.507Z] 20:54:30     INFO - Got event: 'TabClose' on [object XULElement].
[task 2022-07-27T20:54:30.514Z] 20:54:30     INFO - Tab removed and finished closing
[task 2022-07-27T20:54:30.780Z] 20:54:30     INFO - Removing tab.
[task 2022-07-27T20:54:30.780Z] 20:54:30     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2022-07-27T20:54:30.786Z] 20:54:30     INFO - Got event: 'TabClose' on [object XULElement].
[task 2022-07-27T20:54:30.792Z] 20:54:30     INFO - Tab removed and finished closing
[task 2022-07-27T20:54:31.076Z] 20:54:31     INFO - Removing tab.
[task 2022-07-27T20:54:31.077Z] 20:54:31     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2022-07-27T20:54:31.081Z] 20:54:31     INFO - Got event: 'TabClose' on [object XULElement].
[task 2022-07-27T20:54:31.088Z] 20:54:31     INFO - Tab removed and finished closing
[task 2022-07-27T20:54:31.098Z] 20:54:31     INFO - GECKO(3164) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2022-07-27T20:54:31.105Z] 20:54:31     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2022-07-27T20:54:31.106Z] 20:54:31     INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-integration-reloading-uncompressed-sourcemaps.js | The main process DevToolsServer has no pending connection when the test ends - 
[task 2022-07-27T20:54:31.140Z] 20:54:31     INFO - GECKO(3164) | MEMORY STAT | vsize 2112951MB | vsizeMaxContiguous 65029399MB | residentFast 555MB | heapAllocated 175MB
[task 2022-07-27T20:54:31.140Z] 20:54:31     INFO - TEST-OK | devtools/client/debugger/test/mochitest/browser_dbg-integration-reloading-uncompressed-sourcemaps.js | took 13885ms
[task 2022-07-27T20:54:31.151Z] 20:54:31     INFO - checking window state
[task 2022-07-27T20:54:31.154Z] 20:54:31     INFO - TEST-START | devtools/client/debugger/test/mochitest/browser_dbg-keyboard-navigation.js
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 2 years ago1 year ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Status: REOPENED → RESOLVED
Closed: 1 year ago1 year ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---

Update:

There have been 32 total failures within the last 7 days:

  • 9 failures on Linux 18.04 x64 WebRender opt/debug
  • 4 failures on Linux 18.04 x64 WebRender Shippable opt
  • 9 failures on OS X 10.15 WebRender opt/debug
  • 5 failures on OS X 10.15 WebRender Shippable opt
  • 1 failure on Windows 11 x64 22H2 WebRender opt
  • 4 failures on Windows 11 x64 22H2 WebRender Shippable opt

Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=409411556&repo=mozilla-central&lineNumber=13218

Probably the same root cause as https://bugzilla.mozilla.org/show_bug.cgi?id=1769556#c46.

Flags: needinfo?(hmanilla)
Whiteboard: [retriggered]
Flags: needinfo?(hmanilla) → needinfo?(poirot.alex)
Whiteboard: [retriggered] → [retriggered][stockwell needswork:owner]
See Also: → 1823504
See Also: → 1769556

We are processing an original source in mapFrames which isn't yet registered in the reducer.
This happens while we are processing the PAUSE action:

 1:47.64 GECKO(388234) getOriginalLocation@resource://devtools/client/debugger/src/utils/source-maps.js:85:10
 1:47.64 GECKO(388234) async*updateFrameLocation@resource://devtools/client/debugger/src/actions/pause/mapFrames.js:43:62
 1:47.64 GECKO(388234) updateFrameLocations/<@resource://devtools/client/debugger/src/actions/pause/mapFrames.js:55:61
 1:47.64 GECKO(388234) updateFrameLocations@resource://devtools/client/debugger/src/actions/pause/mapFrames.js:55:29
 1:47.64 GECKO(388234) mapFrames/<@resource://devtools/client/debugger/src/actions/pause/mapFrames.js:152:30
 1:47.65 GECKO(388234) thunk/</</<@resource://devtools/client/debugger/src/actions/utils/middleware/thunk.js:29:45
 1:47.65 GECKO(388234) dispatch@resource://devtools/client/shared/vendor/redux.js:681:28
 1:47.65 GECKO(388234) paused/<@resource://devtools/client/debugger/src/actions/pause/paused.js:66:11
 1:47.65 GECKO(388234) async*thunk/</</<@resource://devtools/client/debugger/src/actions/utils/middleware/thunk.js:29:45
 1:47.65 GECKO(388234) bindActionCreator/<@resource://devtools/client/shared/vendor/redux.js:520:12
 1:47.65 GECKO(388234) onThreadStateAvailable@resource://devtools/client/debugger/src/client/firefox.js:190:21
 1:47.65 GECKO(388234) async*_notifyWatchers@resource://devtools/shared/commands/resource/resource-command.js:872:24
 1:47.65 GECKO(388234) later@resource://devtools/shared/throttle.js:33:19
 1:47.65 GECKO(388234) notify@resource://gre/modules/Timer.sys.mjs:49:17

We are already working similar issue for generated sources when we create the PAUSE object over there:
https://searchfox.org/mozilla-central/rev/169bf38e150667afac81ab73ef8b5ace8f1dfa8d/devtools/client/debugger/src/client/firefox/create.js#38-41

  // Because of throttling, the source may be available a bit late.
  const sourceActor = await waitForSourceActorToBeRegisteredInStore(
    frame.where.actor
  );

We should probably have similar practice here or in mapFrames, but for original sources.

Flags: needinfo?(poirot.alex)

With the new location object having direct references to source object,
we now have to wait for sources objects to be registered in the reducers
before trying to instantiate the related frame locations.

Also fix a typo in waitForSourceToBeRegisteredInStore.

Last but not least, we no longer need to wait for the source related to
the selected frame as mapFrames will do it.
Now we have a strong guaranty that frame.location will be set
with a valid source object. That for both generated and original sources.

Assignee: nobody → poirot.alex
Pushed by apoirot@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1c50d1ff30f7
[devtools] Wait for original sources when mapping frames. r=devtools-reviewers,bomsy
Status: REOPENED → RESOLVED
Closed: 1 year ago1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch

This is still happening: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&selectedTaskRun=aziDJmiXTtCfY2IR7gFyMA.0&resultStatus=usercancel%2Cpending%2Crunning%2Csuccess%2Ctestfailed%2Cbusted%2Cexception%2Crunnable&searchStr=windows%2C11%2Cx64%2C22h2%2Cwebrender%2Copt%2Cmochitests%2Ctest-windows11-64-2009-qr%2Fopt-mochitest-devtools-chrome%2Cdt5&revision=7437637d0b5c2745440bfeba4adb64689d24044f
The failure line is TEST-UNEXPECTED-FAIL | devtools/client/debugger/test/mochitest/browser_dbg-integration-reloading-uncompressed-sourcemaps.js | A promise chain failed to handle a rejection: Parser: source source-url-http://localhost:53255/bundle-with-another-original.js/originalSource-2f508a2e8b3e0384b3c7a591bb292db5 was not provided. - stack: @resource://devtools/client/shared/worker-utils.js:98:21
I guess the fix was for the timeout.

Hi Alexandre! Can you please take a look at this? If you want to fix this in another bug and closed this as fixed for the other issue please tell us so we can file a new bug.
Thank you!

Status: RESOLVED → REOPENED
Flags: needinfo?(poirot.alex)
Resolution: FIXED → ---
Target Milestone: 113 Branch → ---
Whiteboard: [retriggered][stockwell disable-recommended] → [retriggered]
Whiteboard: [retriggered][stockwell disable-recommended] → [retriggered][stockwell needswork:owner]
Attachment #9387110 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: