Open Bug 1824044 Opened 1 year ago Updated 13 days ago

Intermittent devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | single tracking bug

Categories

(DevTools :: Debugger, defect, P5)

defect

Tracking

(firefox-esr102 unaffected, firefox111 unaffected, firefox112 unaffected, firefox113 affected, firefox114 affected)

REOPENED
Tracking Status
firefox-esr102 --- unaffected
firefox111 --- unaffected
firefox112 --- unaffected
firefox113 --- affected
firefox114 --- affected

People

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

References

(Regression)

Details

(Keywords: intermittent-failure, regression, test-verify-fail, Whiteboard: [retriggered][stockwell unknown])

Attachments

(1 file, 1 obsolete file)

Filed by: smolnar [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=409845569&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Z5-3gyQlRzSX1RdRxwU3Ug/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/Z5-3gyQlRzSX1RdRxwU3Ug/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 44| { — in doc-pretty-print-inline-scripts.html:formatted should NOT be breakable - 
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - Buffered messages finished
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - TEST-UNEXPECTED-FAIL | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 45|   'use strict'; — in doc-pretty-print-inline-scripts.html:formatted should NOT be breakable - 
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - Stack trace:
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - chrome://mochikit/content/browser-test.js:test_ok:1484
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/shared-head.js:assertLineIsBreakable:281
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/head.js:assertBreakableLines:228
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js:null:51
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - chrome://mochikit/content/browser-test.js:handleTask:1039
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1111
[task 2023-03-22T23:20:10.064Z] 23:20:10     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1253
[task 2023-03-22T23:20:10.065Z] 23:20:10     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:1028
[task 2023-03-22T23:20:10.065Z] 23:20:10     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/<:1053
[task 2023-03-22T23:20:10.066Z] 23:20:10     INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 46| 

:nchevobbe, since you are the author of the regressor, bug 1010150, could you take a look?

For more information, please visit auto_nag documentation.

Flags: needinfo?(nchevobbe)

sure, I'll investigate

Flags: needinfo?(nchevobbe)
Summary: Intermittent [TV] devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 45| 'use strict'; — in doc-pretty-print-inline-scripts.html:formatted should NOT be breakable - → Intermittent devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 45| 'use strict'; — in doc-pretty-print-inline-scripts.html:formatted should NOT be breakable -

Hello Nicolas! It started to fail frequent on this push. Could you please take a look?

Thank you!

Flags: needinfo?(nchevobbe)
Summary: Intermittent devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 45| 'use strict'; — in doc-pretty-print-inline-scripts.html:formatted should NOT be breakable - → Intermittent devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | single tracking bug

yes, I'm on it (see comment #2 :) )

Flags: needinfo?(nchevobbe)

the failures in the test highlights that we're getting 2 source actors for the same inline script, and so this messes up with the pretty printing of the HTML file in the end.

This seems to happen when we do re-create sources when we are missing some https://searchfox.org/mozilla-central/rev/4d6a262deed98ddb4d609de94048e7f97b6e85d3/devtools/server/actors/thread.js#2189-2197

this._addSource(
  global.createSource({
    text,
    url,
    startLine,
    startColumn,
    isScriptElement: true,
  })
);

What might be happening is that for a given HTML file, we'll miss some sources for some scripts, but not all, but then, we re-create sources for all the inline scripts
https://searchfox.org/mozilla-central/rev/4d6a262deed98ddb4d609de94048e7f97b6e85d3/devtools/server/actors/thread.js#1473-1475

if (count > 0) {
  this._resurrectSource(url);
}

Set release status flags based on info from the regressing bug 1010150

We have an HTML file with multiple inline script, one of them having a module type.
In this module, we're doing a console.log, which means that when DevTools start, we get those message, look their sourceId (console-messages.js), call Debugger.findSources (sources-manager.js)which allow us to get the source, store it in some Map, and create some DevTools specifics from it (let's say it's step 1).

Then a few second later, when actually starting the debugger, we want to track all sources that existed in the page, so we call Debugger.findSourceURLs, and Debugger.findSources to see if sources might have been GCed (thread.js), and if so, call DebuggerObject.createSource for each of the missing ones (thread.js).

The issue that I face is that findSources does not return the source we got from step 1 , and so we create another source, which means that when we pretty print, we'll have 2 actors for the same inline script, and we'll pretty print both, and update the offset twice, which messes up with the final result.

Depends on: 1824361
Whiteboard: [retriggered]

While the root issue should be fixed on the server,
this patch will help reduce a frequent intermittent
and prevent showing erroneous result to users.

Depends on D173524

Assignee: nobody → nchevobbe
Status: NEW → ASSIGNED
Pushed by nchevobbe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e5070100c386
[devtools] Avoid handling the same inline script twice in pretty printing. r=devtools-reviewers,bomsy.
Pushed by nchevobbe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/399b297fa7db
[devtools] Avoid handling the same inline script twice in pretty printing. r=devtools-reviewers,bomsy.

Backed out for causing dt failures in browser_resources_sources.js

  • Backout link
  • Push with failures
  • Failure Log
  • Failure line: TEST-UNEXPECTED-FAIL | devtools/shared/commands/resource/tests/browser_resources_sources.js | Uncaught exception in test bound testGarbagedCollectedSources - at chrome://mochitests/content/browser/devtools/client/shared/test/shared-head.js:1050 - Error: Failed waitFor(): Got all the sources
Flags: needinfo?(nchevobbe)
Backout by ctuns@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ad54452dc775
Backed out changeset 399b297fa7db for causing dt failures in browser_resources_sources.js CLOSED TREE

sorry, it needs next patch in the stack

Flags: needinfo?(nchevobbe)
Pushed by nchevobbe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0099185c0f45
[devtools] Avoid handling the same inline script twice in pretty printing. r=devtools-reviewers,bomsy.
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch
Regressions: 1825601

erf :/

Is this only on this platform (dt-no-eft-nofis) ?

There seems to be in error in pretty printing:

[task 2023-03-31T06:09:58.988Z] 06:09:58 INFO - GECKO(1580) | console.warn: "Action loadOriginalSourceText had an exception:" (new Error("Unterminated regular expression (12:8)", "resource://devtools/client/shared/worker-utils.js", 98))

this is a weird one, I'll look into it

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: 113 Branch → ---

Set release status flags based on info from the regressing bug 1010150

Set release status flags based on info from the regressing bug 1010150

Update:

There have been 33 failures within the last 7 days:

  • 17 failures on Linux 18.04 x64 WebRender opt
  • 13 failures on Linux 18.04 x64 WebRender Shippable opt
  • 1 failure on Linux 18.04 x64 WebRender tsan opt
  • 2 failures on OS X 10.15 WebRender debug/opt

Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=412606783&repo=autoland&lineNumber=11135

[task 2023-04-16T05:58:16.567Z] 05:58:16     INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 46| { — in doc-pretty-print-inline-scripts.html:formatted should NOT be breakable - 
[task 2023-04-16T05:58:16.567Z] 05:58:16     INFO - Buffered messages finished
[task 2023-04-16T05:58:16.569Z] 05:58:16     INFO - TEST-UNEXPECTED-FAIL | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 47|   'use strict'; — in doc-pretty-print-inline-scripts.html:formatted should NOT be breakable - 
[task 2023-04-16T05:58:16.569Z] 05:58:16     INFO - Stack trace:
[task 2023-04-16T05:58:16.569Z] 05:58:16     INFO - chrome://mochikit/content/browser-test.js:test_ok:1494
[task 2023-04-16T05:58:16.569Z] 05:58:16     INFO - chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/shared-head.js:assertLineIsBreakable:281
[task 2023-04-16T05:58:16.569Z] 05:58:16     INFO - chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/head.js:assertBreakableLines:228
[task 2023-04-16T05:58:16.569Z] 05:58:16     INFO - chrome://mochitests/content/browser/devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js:null:51
[task 2023-04-16T05:58:16.569Z] 05:58:16     INFO - chrome://mochikit/content/browser-test.js:handleTask:1043
[task 2023-04-16T05:58:16.570Z] 05:58:16     INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1115
[task 2023-04-16T05:58:16.570Z] 05:58:16     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1257
[task 2023-04-16T05:58:16.571Z] 05:58:16     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:1032
[task 2023-04-16T05:58:16.571Z] 05:58:16     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/<:1056
[task 2023-04-16T05:58:16.573Z] 05:58:16     INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | 48|   document.querySelector('h1').addEventListener('m… — in doc-pretty-print-inline-scripts.html:formatted should be breakable - 

Nicolas, can you take a look at this please?
Thank you.

Flags: needinfo?(nchevobbe)
Whiteboard: [retriggered] → [retriggered][stockwell needswork:owner]

Sure
I'm seeing Unterminated regular expression in the logs, which might indicate that we don't pass the right text to prettyPrint
Something like /script>x=12 would trigger such error in parser that acorn uses, so we might get erroneous sourceStartLine/sourceStartColumn

Flags: needinfo?(nchevobbe)

Update:

There have been 32 failures within the last 7 days:

  • 11 failures on Linux 18.04 x64 WebRender Shippable opt
  • 21 failures on Linux 18.04 x64 WebRender opt/debug

Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=416307557&repo=autoland&lineNumber=34609

[task 2023-05-18T22:31:50.405Z] 22:31:50     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2023-05-18T22:31:50.406Z] 22:31:50     INFO - Toolbox opened and focused
[task 2023-05-18T22:31:50.407Z] 22:31:50     INFO - Buffered messages logged at 22:31:06
[task 2023-05-18T22:31:50.408Z] 22:31:50     INFO - Waiting for state change: selected source
[task 2023-05-18T22:31:50.409Z] 22:31:50     INFO - Finished waiting for state change: selected source
[task 2023-05-18T22:31:50.410Z] 22:31:50     INFO - Waiting for state change: selected source
[task 2023-05-18T22:31:50.411Z] 22:31:50     INFO - Buffered messages finished
[task 2023-05-18T22:31:50.412Z] 22:31:50     INFO - TEST-UNEXPECTED-FAIL | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | Test timed out - 
[task 2023-05-18T22:31:50.461Z] 22:31:50     INFO - Removing tab.
[task 2023-05-18T22:31:50.463Z] 22:31:50     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2023-05-18T22:31:50.472Z] 22:31:50     INFO - Got event: 'TabClose' on [object XULElement].
[task 2023-05-18T22:31:50.491Z] 22:31:50     INFO - Tab removed and finished closing
[task 2023-05-18T22:31:50.510Z] 22:31:50     INFO - GECKO(1582) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2023-05-18T22:31:50.517Z] 22:31:50     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2023-05-18T22:31:50.520Z] 22:31:50     INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | The main process DevToolsServer has no pending connection when the test ends -

Update

There have been 34 failures within the last 7 days:

  • 21 failures on Linux 18.04 x64 WebRender debug/opt
  • 13 failures on Linux 18.04 x64 WebRender Shippable opt

Recent failure log: https://treeherder.mozilla.org/logviewer?job_id=419405708&repo=autoland&lineNumber=18824

Whiteboard: [retriggered][stockwell unknown] → [retriggered][stockwell needswork:owner]

There have been 31 total failures in the last 7 days.
There are:

  • 17 failures on Linux 18.04 x64 WebRender opt
  • 2 failures on Linux 18.04 x64 WebRender debug
  • 12 failures on Linux 18.04 x64 WebRender Shippable opt

Recent failure log.


[task 2023-07-18T23:26:24.011Z] 23:26:24     INFO - TEST-OK | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-flow.js | took 6766ms
[task 2023-07-18T23:26:24.036Z] 23:26:24     INFO - checking window state
[task 2023-07-18T23:26:24.072Z] 23:26:24     INFO - TEST-START | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js
[task 2023-07-18T23:26:26.344Z] 23:26:26     INFO - GECKO(2053) | console.warn: "Action loadOriginalSourceText had an exception:" (new Error("Unterminated regular expression (12:8)", "resource://devtools/client/shared/worker-utils.js", 98))
[task 2023-07-18T23:26:26.604Z] 23:26:26     INFO - GECKO(2053) | console.warn: "Action setSymbols had an exception:" (new Error("Parser: source source-url-https://example.com/browser/devtools/client/debugger/test/mochitest/examples/doc-pretty-print-inline-scripts.html/originalSource-828670750c4712f9ab66ac9311f2e8a8 was not provided.", "resource://devtools/client/shared/worker-utils.js", 98))
[task 2023-07-18T23:27:09.539Z] 23:27:09     INFO - TEST-INFO | started process screentopng
[task 2023-07-18T23:27:09.780Z] 23:27:09     INFO - TEST-INFO | screentopng: exit 0
[task 2023-07-18T23:27:09.780Z] 23:27:09     INFO - Buffered messages logged at 23:26:24
[task 2023-07-18T23:27:09.780Z] 23:27:09     INFO - Entering test bound 
[task 2023-07-18T23:27:09.782Z] 23:27:09     INFO - Adding a new tab with URL: https://example.com/browser/devtools/client/debugger/test/mochitest/examples/doc-pretty-print-inline-scripts.html
[task 2023-07-18T23:27:09.783Z] 23:27:09     INFO - Tab added and finished loading
[task 2023-07-18T23:27:09.784Z] 23:27:09     INFO - Opening the toolbox
[task 2023-07-18T23:27:09.785Z] 23:27:09     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499 column: 24 source: "display: none !important"}]
[task 2023-07-18T23:27:09.786Z] 23:27:09     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499}]
[task 2023-07-18T23:27:09.786Z] 23:27:09     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2023-07-18T23:27:09.787Z] 23:27:09     INFO - Buffered messages logged at 23:26:25
[task 2023-07-18T23:27:09.788Z] 23:27:09     INFO - Console message: [JavaScript Warning: "Use of nsIFile in content process is deprecated." {file: "resource://gre/modules/NetUtil.sys.mjs" line: 249}]
[task 2023-07-18T23:27:09.789Z] 23:27:09     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499 column: 24 source: "display: none !important"}]
[task 2023-07-18T23:27:09.790Z] 23:27:09     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/customElements.js" line: 499}]
[task 2023-07-18T23:27:09.791Z] 23:27:09     INFO - Console message: [JavaScript Error: "Content-Security-Policy: The page’s settings blocked the loading of a resource at inline (“default-src”)." {file: "chrome://global/content/elements/panel.js" line: 62}]
[task 2023-07-18T23:27:09.792Z] 23:27:09     INFO - Toolbox opened and focused
[task 2023-07-18T23:27:09.793Z] 23:27:09     INFO - Buffered messages logged at 23:26:26
[task 2023-07-18T23:27:09.793Z] 23:27:09     INFO - Waiting for state change: selected source
[task 2023-07-18T23:27:09.794Z] 23:27:09     INFO - Finished waiting for state change: selected source
[task 2023-07-18T23:27:09.795Z] 23:27:09     INFO - Waiting for state change: selected source
[task 2023-07-18T23:27:09.796Z] 23:27:09     INFO - Buffered messages finished
[task 2023-07-18T23:27:09.797Z] 23:27:09     INFO - TEST-UNEXPECTED-FAIL | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | Test timed out - 
[task 2023-07-18T23:27:09.882Z] 23:27:09     INFO - Removing tab.
[task 2023-07-18T23:27:09.886Z] 23:27:09     INFO - Waiting for event: 'TabClose' on [object XULElement].
[task 2023-07-18T23:27:09.896Z] 23:27:09     INFO - Got event: 'TabClose' on [object XULElement].
[task 2023-07-18T23:27:09.925Z] 23:27:09     INFO - Tab removed and finished closing
[task 2023-07-18T23:27:09.946Z] 23:27:09     INFO - GECKO(2053) | JavaScript error: , line 0: NotFoundError: No such JSWindowActor 'DevToolsFrame'
[task 2023-07-18T23:27:09.955Z] 23:27:09     INFO - Console message: [JavaScript Error: "NotFoundError: No such JSWindowActor 'DevToolsFrame'"]
[task 2023-07-18T23:27:09.960Z] 23:27:09     INFO - TEST-PASS | devtools/client/debugger/test/mochitest/browser_dbg-pretty-print-inline-scripts.js | The main process DevToolsServer has no pending connection when the test ends - 

Hello Nicolas! Any updates regarding this bug?

Thank you!

Flags: needinfo?(nchevobbe)
Flags: needinfo?(nchevobbe)

Hello Nicolas! This started to fail frequently as it can be seen here. For now, it looks like something on and off. Any thoughts on this?

Thank you!

Flags: needinfo?(nchevobbe)

There have been 41 total failures in the last 7 days.
There are:

  • 22 failures on linux1804-64-shippable-qr opt
  • 19 failures on linux1804-64-qr opt

Recent failure log.

Whiteboard: [retriggered][stockwell unknown] → [retriggered][stockwell needswork:owner]
Attachment #9384337 - 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: