An uncleared throwing setInterval in xbundle.js defeats the browser-chrome test timeout
Categories
(DevTools :: Debugger, defect)
Tracking
(firefox158 fixed)
| Tracking | Status | |
|---|---|---|
| firefox158 | --- | fixed |
People
(Reporter: florian, Assigned: florian)
References
(Blocks 1 open bug)
Details
(Keywords: intermittent-failure)
Attachments
(1 file)
devtools/client/debugger/test/mochitest/examples/sourcemaps-with-sections/xbundle.js is, in full, a setInterval that throws every second with nothing clearing it. Ten tests load the fixture page that pulls it in, and only browser_dbg-breakpoints-sourcemap-with-sections.js wants the timer. The other nine take a thrown error every second while their tab is open.
That error defeats the harness timeout. browser-test.js extends a test by up to ten further windows as long as console output stays fresh, and every console-service message stamps lastOutputTime. A 1 Hz uncaught error keeps that freshness check passing forever, so a hung test burns every extension instead of failing after one.
The fix is to move xbundle.js to its own fixture page and point the one test that needs it there.
| Assignee | ||
Comment 1•3 days ago
|
||
Only browser_dbg-breakpoints-sourcemap-with-sections.js needs xbundle.js's
uncleared throwing setInterval; the nine other tests that load
doc-sourcemaps.html inherit it. Its output keeps lastOutputTime fresh, so
browser-test.js reads a hung test as merely slow and grants it every
MAX_UNEXPECTED_TIMEOUTS extension instead of failing it after one window.
Updated•3 days ago
|
Comment 3•2 days ago
|
||
| bugherder | ||
Description
•