Can't see JS evaluated in a blob that's been revoked
Categories
(DevTools :: Debugger, defect, P3)
Tracking
(Not tracked)
People
(Reporter: bbouvier, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
452 bytes,
text/html
|
Details |
See attached index.html file. Open it in Firefox, observe alert, open devtools in the debugger tab, so as to look at the source of the blob.
If the alert has not been closed yet, the debugger is able to show the source of the blob. But when the alert is closed, the blob is revoked and the debugger now prints a big JS stack trace in the source tab, like this:
Erreur lors du chargement de cet URI : Protocol error (unknownError): Could not load the source for blob:http://localhost:8000/8b556da7-2259-460a-aa89-f83683e263d3.
[Exception... "Failed to open input source 'blob:http://localhost:8000/8b556da7-2259-460a-aa89-f83683e263d3'" nsresult: "0x805303f4 (<unknown>)" location: "JS frame :: resource://devtools/shared/DevToolsUtils.js :: mainThreadFetch/< :: line 631" data: yes]
Stack: mainThreadFetch/<@resource://devtools/shared/DevToolsUtils.js:631:15
mainThreadFetch@resource://devtools/shared/DevToolsUtils.js:512:10
_getSourceText@resource://devtools/server/actors/source.js:276:27
promise callback*onSource@resource://devtools/server/actors/source.js:377:8
handler@resource://devtools/shared/protocol/Actor.js:146:37
onPacket@resource://devtools/server/main.js:1298:58
receiveMessage@resource://devtools/shared/transport/child-transport.js:66:16
MessageListener.receiveMessage*_addListener@resource://devtools/shared/transport/child-transport.js:40:14
ready@resource://devtools/shared/transport/child-transport.js:57:10
_onConnection@resource://devtools/server/main.js:880:15
connectToParent@resource://devtools/server/main.js:296:17
onConnect<@resource://devtools/server/startup/frame.js:59:35
exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:22
MessageListener.receiveMessage*@resource://devtools/server/startup/frame.js:80:5
@resource://devtools/server/startup/frame.js:160:5
Line: 631, column: 0
It'd be nice to still be able to look at the source of a revoked blob; Chromium works perfectly fine in the same scenario.
Updated•5 years ago
|
Comment 1•4 years ago
|
||
This should be mostly fixed in nightly via https://bugzilla.mozilla.org/show_bug.cgi?id=1643540. If the source has since been GCed, you'd still get the error since there's no-where we can get it back from, but I think that's more understandable. There is also https://bugzilla.mozilla.org/show_bug.cgi?id=1206391 to track the issue of GCed sources that performed console logs and such.
Description
•