JS Tracing causes a tab crash
Categories
(DevTools :: Debugger, defect, P3)
Tracking
(Not tracked)
People
(Reporter: nchevobbe, Unassigned)
References
(Blocks 1 open bug)
Details
I get a tab crash when tracing on https://nchevobbe.github.io/demo/console-test-app.html (happens even with a clean profile) :
[Parent 51566, IPC I/O Parent] WARNING: process 51575 exited on signal 11: file /Users/nchevobbe/Projects/mozilla-central/ipc/chromium/src/base/process_util_posix.cc:264
JavaScript error: resource://devtools/server/actors/resources/parent-process-document-event.js, line 90: TypeError: can't access property "innerWindowId", webProgress.browsingContext.currentWindowGlobal is null
JavaScript error: resource://devtools/shared/protocol/Front.js, line 106: Error: Connection closed, pending request to server0.conn0.workerGlobal8589934593/workerTarget1/tracer3, type startTracing failed
Request stack:
request@resource://devtools/shared/protocol/Front.js:300:14
generateRequestMethods/</frontProto[name]@resource://devtools/shared/protocol/Front/FrontClassWithSpec.js:47:19
startTracing/<@resource://devtools/client/debugger/src/client/firefox/commands.js:112:24
console.error: (new TypeError("can't access property \"delete\", mutableBreakableLines is undefined", "resource://devtools/client/debugger/src/reducers/sources.js", 292))
TypeError: can't access property "delete", mutableBreakableLines is undefined: removeSourcesAndActors@resource://devtools/client/debugger/src/reducers/sources.js:292:7
update@resource://devtools/client/debugger/src/reducers/sources.js:192:16
combination@resource://devtools/client/shared/vendor/redux.js:502:36
dispatch@resource://devtools/client/shared/vendor/redux.js:256:22
waitUntilService/</<@resource://devtools/client/debugger/src/actions/utils/middleware/wait-service.js:71:24
promiseMiddleware/</<@resource://devtools/client/debugger/src/actions/utils/middleware/promise.js:39:14
context/</<@resource://devtools/client/debugger/src/actions/utils/middleware/context.js:35:12
thunk/</</<@resource://devtools/client/debugger/src/actions/utils/middleware/thunk.js:29:100
dispatch@resource://devtools/client/shared/vendor/redux.js:681:28
removeTarget/<@resource://devtools/client/debugger/src/actions/threads.js:38:13
thunk/</</<@resource://devtools/client/debugger/src/actions/utils/middleware/thunk.js:29:45
bindActionCreator/<@resource://devtools/client/shared/vendor/redux.js:520:12
onTargetDestroyed@resource://devtools/client/debugger/src/client/firefox.js:173:11
_emit@resource://devtools/shared/event-emitter.js:242:32
emit@resource://devtools/shared/event-emitter.js:186:18
emit@resource://devtools/shared/event-emitter.js:330:18
_onTargetDestroyed@resource://devtools/shared/commands/target/target-command.js:350:28
_destroyExistingTargetsOnTargetSwitching@resource://devtools/shared/commands/target/target-command.js:282:14
_onTargetAvailable@resource://devtools/shared/commands/target/target-command.js:208:14
_emit@resource://devtools/shared/event-emitter.js:242:32
emit@resource://devtools/shared/event-emitter.js:186:18
emit@resource://devtools/shared/event-emitter.js:330:18
_onTargetAvailable@resource://devtools/client/fronts/watcher.js:60:10
_emit@resource://devtools/shared/event-emitter.js:242:32
emit@resource://devtools/shared/event-emitter.js:186:18
emit@resource://devtools/shared/event-emitter.js:330:18
onPacket@resource://devtools/shared/protocol/Front.js:349:13
onPacket@resource://devtools/client/devtools-client.js:488:13
send/<@resource://devtools/shared/transport/local-transport.js:67:25
exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:103:22
exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:103:22
console.warn: "Action loadGeneratedSourceText had an exception:" (new Error("sourceContents failed: TypeError: can't access property \"threadFront\", target is undefined", "resource://devtools/client/debugger/src/actions/sources/loadSourceText.js", 34))
console.warn: "getSourceActorBreakableLines failed: TypeError: can't access property \"threadFront\", target is undefined"
console.warn: "Action setSymbols had an exception:" (new Error("Parser: source source-url-https://nchevobbe.github.io/demo/console-test-animation.js was not provided.", "resource://devtools/client/shared/worker-utils.js", 98))
Updated•1 year ago
|
Comment 1•1 year ago
|
||
Nicolas, could you tell me if you still reproduce a crash?
I couldn't, even after fixing bug 1848136 which prevented tracing worker threads correctly.
Reporter | ||
Comment 2•1 year ago
|
||
I'm reproducing on an old Nightly (117.0a1 (2023-07-24)) , but not on latest central
Comment 3•1 year ago
•
|
||
Could it be that it doesn't reproduce on local builds, but only on official builds??
As I'm not sure anything significant landed recently in the tracer?
Reporter | ||
Comment 4•1 year ago
|
||
I got it to crash on latest Nightly, but it wasn't as straightforward.
Here's the crash report: https://crash-stats.mozilla.org/report/index/9f502d0a-323d-446f-a0dc-8fd870230810
looks related to worker
Comment 5•1 year ago
|
||
This is surprising to see ChromeUtils_Binding::importESModule
being used in a DOM Worker thread... AFAIK, it shouldn't be exposed to workers.
It would have been interesting to know which particulart module was being loaded here.
May be it relates to this call:
https://searchfox.org/mozilla-central/source/devtools/server/tracer/tracer.jsm#42
which I'm getting rid in bug 1848136.
Comment 6•9 months ago
|
||
With latest patch from bug 1848136, I couldn't reproduce.
Description
•