Open Bug 1127077 Opened 9 years ago Updated 2 years ago

The response pane beachballs on large JSON files

Categories

(DevTools :: Netmonitor, defect, P2)

36 Branch
x86
macOS
defect

Tracking

(Not tracked)

People

(Reporter: canuckistani, Unassigned)

References

(Blocks 2 open bugs)

Details

STR:

1. go to http://beers.paas.canuckistani.ca/
2. open netmonitor, hard refresh
3. select the request for 'beers.json'
4. click on the response tab

Expected: switch to the response tab, lazily load the tree

Actual: the UI locks up on the first click of the response tab.
Product: Firefox → DevTools

This bug is not specific to JSON—I encountered this when inspecting a 25MiB wasm response and had to wait for the inspector to yield long enough to close the impacted tab. Quick tests on a 2.3GHz Core i7 show the browser UI visibly hanging starting around 200KiB uncompressed response body.

New reproduction instructions, since the original test case is dead:

  1. Go to https://www.qt.io/web-assembly-example-industrial-panel
  2. Open Network inspector tab in Dev Tools
  3. Choose industrial-panel.wasm from the activity list
  4. Click the Response tab

Expected: Browser UI is always responsive
Actual: Entire browser hangs and becomes unresponsive for some time

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:70.0) Gecko/20100101 Firefox/70.0

For the STR above, I get 500ms-1s delay for rendering the WASM binary code: https://perfht.ml/2parsBY .

Observations:

  • Most time spent goes into the reflow, laying out the characters.
  • The text shows 1398104 characters which translate to an odd 1,4 Mb.
  • Chrome just shows "Failed to load response data"

Thoughts:

  • Hiding the response tab by default should help for JSON, but not other long text responses
  • Does a response preview for WASM make sense without a binary viewer (see bug 1572025 for WebSockets). Maybe we want to link devs to the debugger instead.
Priority: -- → P2
See Also: → 1503980
Depends on: 1591904
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.