Clicked JS error while loading titantv.com in LibreWolf. Debugger crashed.
Categories
(DevTools :: Debugger, defect, P2)
Tracking
(firefox145 fixed)
Tracking | Status | |
---|---|---|
firefox145 | --- | fixed |
People
(Reporter: ken_g6151, Assigned: ochameau)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
Error in Debugger:
TypeError: can't access property "length", i is undefined
React Component Stack:
in Exceptions
in Connect(Exceptions)
in div
in Editor
in Connect(Editor)
in div
in main
in div
in div
in SplitBox
in div
in div
in SplitBox
in AppErrorBoundary
in div
in App
in Connect(App)
in Provider
in Provider
Stacktrace:
findPos@resource://devtools/client/shared/sourceeditor/codemirror6/codemirror6.bundle.mjs:1:57806
domAtPos@resource://devtools/client/shared/sourceeditor/codemirror6/codemirror6.bundle.mjs:1:94964
updateSelection@resource://devtools/client/shared/sourceeditor/codemirror6/codemirror6.bundle.mjs:1:91607
update@resource://devtools/client/shared/sourceeditor/codemirror6/codemirror6.bundle.mjs:1:170697
Bs/this.dispatchTransactions<@resource://devtools/client/shared/sourceeditor/codemirror6/codemirror6.bundle.mjs:1:168450
dispatch@resource://devtools/client/shared/sourceeditor/codemirror6/codemirror6.bundle.mjs:1:169233
removeLineContentMarker@resource://devtools/client/shared/sourceeditor/editor.js:1192:8
clearMarkers@resource://devtools/client/debugger/src/components/Editor/Exceptions.js:56:14
componentWillUnmount@resource://devtools/client/debugger/src/components/Editor/Exceptions.js:41:10
callComponentWillUnmountWithTimer@resource://devtools/client/shared/vendor/react-dom.mjs:12812:12
safelyCallComponentWillUnmount@resource://devtools/client/shared/vendor/react-dom.mjs:12820:40
commitUnmount@resource://devtools/client/shared/vendor/react-dom.mjs:13143:41
commitNestedUnmounts@resource://devtools/client/shared/vendor/react-dom.mjs:13174:18
unmountHostComponents@resource://devtools/client/shared/vendor/react-dom.mjs:13435:27
commitDeletion@resource://devtools/client/shared/vendor/react-dom.mjs:13494:26
commitAllHostEffects@resource://devtools/client/shared/vendor/react-dom.mjs:14138:25
commitRoot@resource://devtools/client/shared/vendor/react-dom.mjs:14340:9
completeRoot/<@resource://devtools/client/shared/vendor/react-dom.mjs:15727:15
unstable_runWithPriority@resource://devtools/client/shared/vendor/react.mjs:611:12
completeRoot@resource://devtools/client/shared/vendor/react-dom.mjs:15726:27
performWorkOnRoot@resource://devtools/client/shared/vendor/react-dom.mjs:15655:21
performWork@resource://devtools/client/shared/vendor/react-dom.mjs:15563:24
performSyncWork@resource://devtools/client/shared/vendor/react-dom.mjs:15537:14
requestWork@resource://devtools/client/shared/vendor/react-dom.mjs:15406:5
scheduleWork@resource://devtools/client/shared/vendor/react-dom.mjs:15220:16
enqueueSetState@resource://devtools/client/shared/vendor/react-dom.mjs:8188:17
Component.prototype.setState@resource://devtools/client/shared/vendor/react.mjs:322:16
onStateChange@resource://devtools/client/shared/vendor/react-redux.js:1412:16
notify@resource://devtools/client/shared/vendor/react-redux.js:1159:21
notifyNestedSubs@resource://devtools/client/shared/vendor/react-redux.js:1198:20
onStateChange@resource://devtools/client/shared/vendor/react-redux.js:1409:16
visibilityHandlerStore/subscribe/unsubscribe<@resource://devtools/client/shared/redux/visibilityHandlerStore.js:43:11
dispatch@resource://devtools/client/shared/vendor/redux.js:265:7
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:38:14
context/</<@resource://devtools/client/debugger/src/actions/utils/middleware/context.js:84:12
thunk/</</<@resource://devtools/client/debugger/src/actions/utils/middleware/thunk.js:29:100
dispatch@resource://devtools/client/shared/vendor/redux.js:681:28
setBreakableLines/<@resource://devtools/client/debugger/src/actions/sources/breakableLines.js:92:19
Updated•2 months ago
|
Comment 1•2 months ago
|
||
Thanks for the report!
Are you reproducing this issue consistently? Do you remember on which error/exception you clicked?
Remarkably, it seems to be consistent this session, anyway. It might help to know my locale is set to "Broadcast - Colorado Springs-Pueblo, CO". Here's the exception - not sure how to format it:
Uncaught (in promise) DOMException: String contains an invalid character
t https://www.titantv.com/:1
u https://www.titantv.com/:1
S https://www.titantv.com/:1
E https://www.titantv.com/:1
Y https://www.titantv.com/:1
a https://www.titantv.com/:1
_ https://www.titantv.com/:1
_ https://www.titantv.com/:1
value https://www.titantv.com/:1
t https://www.titantv.com/:1
u https://www.titantv.com/:1
S https://www.titantv.com/:1
E https://www.titantv.com/:1
Y https://www.titantv.com/:1
a https://www.titantv.com/:1
_ https://www.titantv.com/:1
_ https://www.titantv.com/:1
value https://www.titantv.com/:1
<anonymous> https://www.titantv.com/:1
<anonymous> https://www.titantv.com/:1
<anonymous> https://www.titantv.com/:1
Other relevant information: I'm running three add-ons enabled: Cookie Safe 3.8.2 (all cookies whitelisted), ScriptSafe v1.1.0.1 blocking only Google Tag Manager, and uBlock Origin. LibreWolf's Enhanced Tracking Protection is blocking a.pub.network.
Updated•2 months ago
|
Updated•2 months ago
|
Comment 4•2 months ago
|
||
:ochameau managed to reproduce the issue, given we had 2 reports quite similar to each other, let's set this as P2.
Assignee | ||
Comment 5•2 months ago
|
||
It seems to reproduce easily and only when having ublock installed.
And it looks like something off with the console passing a -1 column to the debugger which then crashes because of such unexpected value.
Assignee | ||
Comment 6•2 months ago
|
||
It is actually easily reproducible via data:text/html,<script>atob(-1)</script>
on clicking on exception location from the console.
Assignee | ||
Comment 7•2 months ago
|
||
It is actually not specific to atob and also fails with: data:text/html,<script>throw new Error("foo")</script>
Assignee | ||
Comment 8•2 months ago
|
||
SmartTrace is actually consuming 1-based columns coming from ObjectActor grip
for JS Error object's stacktrace.
But it maps to 0-based columns as it relies on Debugger Frames components.
This is made uterly complicated as we also have to deal with source maps
and original locations which are 0-based as well.
Updated•1 month ago
|
Assignee | ||
Comment 9•1 month ago
|
||
Use the same helper for both debugger and shared component Frame React components.
Comment 10•28 days ago
|
||
Comment 11•27 days ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/bf11b02491af
https://hg.mozilla.org/mozilla-central/rev/7edc79e00f48
Updated•5 days ago
|
Description
•