Network panel/tab crashed. Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE)
Categories
(DevTools :: Netmonitor, defect, P2)
Tracking
(firefox106 fixed)
| Tracking | Status | |
|---|---|---|
| firefox106 | --- | fixed |
People
(Reporter: mrflvku8b, Assigned: bomsy, NeedInfo)
References
(Blocks 2 open bugs)
Details
Attachments
(3 files, 1 obsolete file)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0
Steps to reproduce:
In Network tab I right clicked on an XHR request, then clicked "Повторить отправку" ("Resend"/"Repeat request" XHR request in English)
Actual results:
The network tab "reported"/"informed" me tha it crashed via a message in the top center of the Network tab saying:
"Произошёл крах панели Сеть." with a blue button right on the bottom of this text.
In English it "Network panel crashed".
Expected results:
The new menu tab should have been opened with editable parameter field for Resendin XHR request
Comment 1•4 years ago
|
||
Thanks for filing, can you share the URL where this happens.
Most likely we need to use a string preference instead of a char one at https://searchfox.org/mozilla-central/rev/a352cc827575823676717d53766c39710b54201a/devtools/client/netmonitor/src/components/new-request/HTTPCustomRequestPanel.js#143-146
Comment 3•3 years ago
|
||
Stacktrace from Bug 1784781
React Component Stack
componentStack
in HTTPCustomRequestPanel
in VisibilityHandler
in Unknown
in Connect(Component)
in div
in Panel
in div
in div
in div
in Tabs
in Sidebar
in div
in Tabbar
in div
in NetworkActionBar
in VisibilityHandler
in Unknown
in Connect(Component)
in div
in div
in SplitBox
in div
in div
in SplitBox
in div
in MonitorPanel
in VisibilityHandler
in Unknown
in Connect(Component)
in div
in DropHarHandler
in AppErrorBoundary
in div
in App
in VisibilityHandler
in Unknown
in Connect(Component)
in ProviderStacktrace
HTTPCustomRequestPanel@resource://devtools/client/netmonitor/src/components/new-request/HTTPCustomRequestPanel.js:143:20
constructClassInstance@resource://devtools/client/shared/vendor/react-dom.js:8270:18
updateClassComponent@resource://devtools/client/shared/vendor/react-dom.js:10592:27
beginWork@resource://devtools/client/shared/vendor/react-dom.js:11419:16
performUnitOfWork@resource://devtools/client/shared/vendor/react-dom.js:14702:12
workLoop@resource://devtools/client/shared/vendor/react-dom.js:14720:24
renderRoot@resource://devtools/client/shared/vendor/react-dom.js:14803:15
performWorkOnRoot@resource://devtools/client/shared/vendor/react-dom.js:15655:17
performWork@resource://devtools/client/shared/vendor/react-dom.js:15567:24
performSyncWork@resource://devtools/client/shared/vendor/react-dom.js:15541:14
requestWork@resource://devtools/client/shared/vendor/react-dom.js:15410:5
scheduleWork@resource://devtools/client/shared/vendor/react-dom.js:15224:16
enqueueSetState@resource://devtools/client/shared/vendor/react-dom.js:8192:17
Component.prototype.setState@resource://devtools/client/shared/vendor/react.js:328: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
dispatch@resource://devtools/client/shared/vendor/redux.js:265:7
waitUntilService/</<@resource://devtools/client/shared/redux/middleware/wait-service.js:59:24
eventTelemetryMiddleware/</</<@resource://devtools/client/netmonitor/src/middleware/event-telemetry.js:29:21
throttlingMiddleware/</</<@resource://devtools/client/netmonitor/src/middleware/throttling.js:18:21
batchingMiddleware/</<@resource://devtools/client/netmonitor/src/middleware/batching.js:57:14
prefsMiddleware/</<@resource://devtools/client/netmonitor/src/middleware/prefs.js:27:21
thunk/</</<@resource://devtools/client/shared/redux/middleware/thunk.js:18:11
requestBlockingMiddleware/</</<@resource://devtools/client/netmonitor/src/middleware/request-blocking.js:39:21
dispatch@resource://devtools/client/shared/vendor/redux.js:681:28
openHTTPCustomRequest/<@resource://devtools/client/netmonitor/src/actions/http-custom-request.js:32:13
thunk/</</<@resource://devtools/client/shared/redux/middleware/thunk.js:17:11
requestBlockingMiddleware/</</<@resource://devtools/client/netmonitor/src/middleware/request-blocking.js:39:21
openHTTPCustomRequestTab@resource://devtools/client/netmonitor/src/components/request-list/RequestListContent.js:479:15
createMenu/click/<@resource://devtools/client/netmonitor/src/widgets/RequestListContextMenu.js:342:13
| Assignee | ||
Comment 4•3 years ago
|
||
Also mrflvku8b or xehpuk.dev,
Do you have a website which we can use to reproduce this?
Comment 5•3 years ago
•
|
||
Looking at the code, I think this error is only created when we attempt to store a too big string.
STRs:
- copy a very long string (eg run
copy(new Array(1 * 1024 * 1025).join("a"))) - open netmonitor
- resend any request
- add a URL parameter with name "test" and value the string from your clipboard
The panel immediately crashes.
This also means this won't be fixed by using a string pref, because we still have size limits to respect.
Either need to store that in indexeddb or avoid saving if the content goes over the limit (or try catching I guess)?
The size limit is 1 * 1024 * 1024, see https://searchfox.org/mozilla-central/rev/dcb0cfb66e4ed3b9c7fbef1e80572426ff5f3c3a/modules/libpref/Preferences.cpp#142
| Assignee | ||
Comment 6•3 years ago
|
||
(In reply to Julian Descottes [:jdescottes] from comment #5)
Looking at the code, I think this error is only created when we attempt to store a too big string.
STRs:
- copy a very long string (ef run
copy(new Array(1 * 1024 * 1025).join("a")))- open netmonitor
- resend any request
- add a URL parameter with name "test" and value the string from your clipboard
The panel immediately crashes.
This also means this won't be fixed by using a string pref, because we still have size limits to respect.
Either need to store that in indexeddb or avoid saving if the content goes over the limit (or try catching I guess)?The size limit is 1 * 1024 * 1024, see https://searchfox.org/mozilla-central/rev/dcb0cfb66e4ed3b9c7fbef1e80572426ff5f3c3a/modules/libpref/Preferences.cpp#142
Oh interesting! Thanks for the STR Juilan.
Comment 7•3 years ago
|
||
It was indeed a (binary) file upload of 308 KB on: https://www.fitfiletools.com/#/adjuster#view
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 8•3 years ago
|
||
(In reply to Julian Descottes [:jdescottes] from comment #5)
Looking at the code, I think this error is only created when we attempt to store a too big string.
STRs:
- copy a very long string (eg run
copy(new Array(1 * 1024 * 1025).join("a")))- open netmonitor
- resend any request
- add a URL parameter with name "test" and value the string from your clipboard
The panel immediately crashes.
This also means this won't be fixed by using a string pref, because we still have size limits to respect.
Either need to store that in indexeddb or avoid saving if the content goes over the limit (or try catching I guess)?The size limit is 1 * 1024 * 1024, see https://searchfox.org/mozilla-central/rev/dcb0cfb66e4ed3b9c7fbef1e80572426ff5f3c3a/modules/libpref/Preferences.cpp#142
I think we should go with only saving content that is under the limit, as trying to resend content over the limit will error anyways.
| Assignee | ||
Comment 9•3 years ago
|
||
| Assignee | ||
Comment 10•3 years ago
|
||
Comment 11•3 years ago
|
||
Comment on attachment 9290250 [details]
Bug 1780544 - Show error for resend requests over the size limit
Revision D154865 was moved to bug 1754023. Setting attachment 9290250 [details] to obsolete.
Updated•3 years ago
|
Comment 12•3 years ago
|
||
Comment 13•3 years ago
|
||
| bugherder | ||
Updated•3 years ago
|
Description
•