Closed Bug 1780544 Opened 4 years ago Closed 3 years ago

Network panel/tab crashed. Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE)

Categories

(DevTools :: Netmonitor, defect, P2)

Firefox 102
defect

Tracking

(firefox106 fixed)

RESOLVED FIXED
106 Branch
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

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

Severity: -- → S3
Flags: needinfo?(mrflvku8b)
Priority: -- → P2

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 Provider

Stacktrace

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

Status: UNCONFIRMED → NEW
Ever confirmed: true

Also mrflvku8b or xehpuk.dev,
Do you have a website which we can use to reproduce this?

Flags: needinfo?(xehpuk.dev)

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

(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.

It was indeed a (binary) file upload of 308 KB on: https://www.fitfiletools.com/#/adjuster#view

Flags: needinfo?(xehpuk.dev)

(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.

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.

Attachment #9290250 - Attachment is obsolete: true
Assignee: nobody → hmanilla
Attachment #9290942 - Attachment description: Bug 1780544 - Increase the pref size limit for the request → Bug 1780544 - Increase the storage size limit for the resent request r=jdescottes
Status: NEW → ASSIGNED
Blocks: 1789251
Pushed by hmanilla@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5be6b8740531 Increase the storage size limit for the resent request r=jdescottes
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch
QA Whiteboard: [qa-106b-p2]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: