Closed
Bug 1243561
Opened 9 years ago
Closed 9 years ago
Sources missing if Auto Prettify Minified Sources enabled
Categories
(DevTools :: Debugger, defect)
Tracking
(firefox44 unaffected, firefox45 unaffected, firefox46+ fixed, firefox47+ fixed)
RESOLVED
FIXED
Firefox 47
Tracking | Status | |
---|---|---|
firefox44 | --- | unaffected |
firefox45 | --- | unaffected |
firefox46 | + | fixed |
firefox47 | + | fixed |
People
(Reporter: hub, Assigned: jlong)
References
Details
(Keywords: regression)
Attachments
(2 files)
77.98 KB,
image/png
|
Details | |
4.37 KB,
patch
|
jryans
:
review+
lizzard
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
I'm trying to debug my stuff, and after some time (a few reload, not exactly sure) I get this instead of the source:
Error loading this URL: key is not a non-null object
Breakpoints are still working though.
The only way to get rid of this is to close the tab and reopen.
See screenshot.
Assignee | ||
Comment 1•9 years ago
|
||
Can you post a simplified STR online somewhere that we can use to debug it?
Reporter | ||
Comment 2•9 years ago
|
||
Go to any page (a github page worked), show the tools, make sure you have the script debugger. click on a source to view the source.
Reload the page
Now you get what I described. (see the screenshot)
I'm running revision a41dc34511b4 of inbound (was doing it on an older one too) on Linux x86_64.
Assignee | ||
Comment 3•9 years ago
|
||
I cannot reproduce. If there's any way you can come up with more specific STR, that would be great.
Reporter | ||
Comment 4•9 years ago
|
||
Updated and rebuilt.
Still happening. Occur also on any bugzilla page or hg.mozilla.org.
Here is what I get in the console when I follow the STR above:
*************************
A coding exception was thrown and uncaught in a Task.
Full message: TypeError: key is not a non-null object
Full stack: SourceUtils.isMinified@chrome://devtools/content/debugger/utils.js:105:5
loadSourceText/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/debugger/content/actions/sources.js:192:13
TaskImpl_run@resource://gre/modules/Task.jsm:319:40
resolve@resource://devtools/shared/deprecated-sync-thenables.js:40:40
resolve@resource://devtools/shared/deprecated-sync-thenables.js:40:40
then@resource://devtools/shared/deprecated-sync-thenables.js:20:43
resolve@resource://devtools/shared/deprecated-sync-thenables.js:72:11
resolve@resource://devtools/shared/deprecated-sync-thenables.js:40:11
then@resource://devtools/shared/deprecated-sync-thenables.js:20:43
resolve@resource://devtools/shared/deprecated-sync-thenables.js:72:11
listenerJson@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:738:9
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
Request.prototype.emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:1232:29
DebuggerClient.prototype.onPacket/emitReply@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:1016:29
DevTools RDP*DebuggerClient.prototype.request@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:722:5
DebuggerClient.requester/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:282:12
exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
SourceClient.prototype._onSourceResponse@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:2849:12
SourceClient.prototype.source/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:2795:14
resolve@resource://devtools/shared/deprecated-sync-thenables.js:40:40
then@resource://devtools/shared/deprecated-sync-thenables.js:20:43
resolve@resource://devtools/shared/deprecated-sync-thenables.js:72:11
listenerJson@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:738:9
emitOnObject@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:112:9
emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/commonjs/sdk/event/core.js:89:38
Request.prototype.emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:1232:29
DebuggerClient.prototype.onPacket/emitReply@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:1016:29
DevTools RDP*DebuggerClient.prototype.request@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:722:5
SourceClient.prototype.source@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:2794:12
loadSourceText/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/debugger/content/actions/sources.js:184:32
TaskImpl_run@resource://gre/modules/Task.jsm:319:40
TaskImpl@resource://gre/modules/Task.jsm:280:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:254:14
Task_spawn@resource://gre/modules/Task.jsm:168:12
loadSourceText/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/debugger/content/actions/sources.js:178:18
thunk/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/thunk.js:15:9
task/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/task.js:31:12
dispatch@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/vendor/redux.js:384:19
selectSource/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/debugger/content/actions/sources.js:50:5
thunk/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/thunk.js:15:9
task/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/task.js:31:12
bindActionCreator/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/vendor/redux.js:418:13
SourcesView.prototype<.sourcesDidUpdate@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/debugger/content/views/sources-view.js:197:9
SourcesView.prototype<.renderSource@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/debugger/content/views/sources-view.js:216:5
onReducerEvents/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/debugger/content/utils.js:40:7
makeStateBroadcaster/<.subscribeToStore/</</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/non-react-subscriber.js:98:17
makeStateBroadcaster/<.subscribeToStore/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/non-react-subscriber.js:97:15
makeStateBroadcaster/<.subscribeToStore/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/non-react-subscriber.js:90:11
createStore/dispatch/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/vendor/redux.js:212:15
dispatch@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/vendor/redux.js:211:6
waitUntilService/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/wait-service.js:60:20
promiseMiddleware/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/promise.js:16:14
thunk/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/thunk.js:16:9
task/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/task.js:31:12
dispatch@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/vendor/redux.js:384:19
newSource/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/debugger/content/actions/sources.js:32:12
thunk/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/thunk.js:15:9
task/</<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/redux/middleware/task.js:31:12
bindActionCreator/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/shared/vendor/redux.js:418:13
DebuggerController.connectThread/<@chrome://devtools/content/debugger/debugger-controller.js:291:7
eventSource/aProto.emit@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:131:9
DebuggerClient.prototype.onPacket@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/client/main.js:965:9
LocalDebuggerTransport.prototype.send/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/transport/transport.js:569:11
exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
*************************
Seems like a regression with the "Auto Prettify Minified Sources" option. :hub, does disabling this from the gear menu in the Debugger make sources come back?
Flags: needinfo?(hub)
Reporter | ||
Comment 6•9 years ago
|
||
Yes it does fix the issue. I can live without that option for now.
Flags: needinfo?(hub)
Keywords: regression,
regressionwindow-wanted
Summary: Devtool debugger no longer want to show source → Sources missing if Auto Prettify Minified Sources enabled
Assignee | ||
Comment 7•9 years ago
|
||
Thanks for narrowing it down! That's very helpful. I'll take a look; we definitely have tests for this so I wonder what's going on.
Assignee: nobody → jlong
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=a769d6df25533cca00374b1422923e321210c6e2&tochange=29fb9dd8cf23bff3b80e19d28dc0c5d9dd5ef52d
https://hg.mozilla.org/integration/mozilla-inbound/diff/076c569c0d51/devtools/client/debugger/utils.js
https://dxr.mozilla.org/mozilla-central/search?q=_minifiedCache+path%3Adebug
The _minifiedCache is new Map(), it should keep clear(). Also, tests may need to be enhanced.
Blocks: 1101817
status-firefox44:
--- → unaffected
status-firefox45:
--- → unaffected
status-firefox46:
--- → affected
Keywords: regressionwindow-wanted
Version: Trunk → 46 Branch
Assignee | ||
Comment 10•9 years ago
|
||
Wow, that was super helpful, thanks!
Looks like that bug sets it to a new WeakMap, when it really was just a Map. Easy to fix. Will also look at why tests didn't expose this.
[Tracking Requested - why for this release]: Debugger broken when "Auto Prettify" option is enabled.
tracking-firefox46:
--- → ?
tracking-firefox47:
--- → ?
Assignee | ||
Comment 12•9 years ago
|
||
Fixed, also updated one of the tests to mimick a more real-word scenario (which would have exposed this bug).
Attachment #8714466 -
Flags: review?(jryans)
Assignee | ||
Comment 13•9 years ago
|
||
Attachment #8714466 -
Flags: review?(jryans) → review+
Comment 14•9 years ago
|
||
My apologies for this regression, not sure how that happened :(
Assignee | ||
Comment 15•9 years ago
|
||
It's ok, our test should have been a more real-life scenario which would have caught this.
Comment 17•9 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 47
Assignee | ||
Comment 18•9 years ago
|
||
Comment on attachment 8714466 [details] [diff] [review]
1243561.patch
Approval Request Comment
[Feature/regressing bug #]: 1101817
[User impact if declined]: Auto-pretty printing in debugger is broken
[Describe test coverage new/current, TreeHerder]: Improved existing test to cover regression
[Risks and why]: Very little risk, only a 1-line change
[String/UUID change made/needed]:
Attachment #8714466 -
Flags: approval-mozilla-aurora?
Comment 19•9 years ago
|
||
Comment on attachment 8714466 [details] [diff] [review]
1243561.patch
Fix for recent regression, includes new test coverage.
OK to uplift to aurora.
Attachment #8714466 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 21•9 years ago
|
||
bugherder uplift |
Comment 22•9 years ago
|
||
[bugday-20160323]
Status: RESOLVED,FIXED -> UNVERIFIED
Comments:
STR: Not clear.
Developer specific testing
Component:
Name Firefox
Version 46.0b9
Build ID 20160322075646
Update Channel beta
User Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
OS Windows 7 SP1 x86_64
Expected Results:
Developer specific testing
Actual Results:
As expected
Updated•7 years ago
|
Product: Firefox → DevTools
You need to log in
before you can comment on or make changes to this bug.
Description
•