Open Bug 1101483 Opened 5 years ago Updated 4 years ago

Hang for a long time under CGContextDrawPath stroking 8 MB path (browser totally unresponsive on is-rust-slim-yet's use of D3.js)

Categories

(Core :: Graphics, defect)

x86_64
macOS
defect
Not set

Tracking

()

People

(Reporter: pnkfelix, Unassigned)

References

()

Details

Attachments

(1 file)

Steps to reproduce:

1. Go to http://huonw.github.io/isrustfastyet/mem/ (aka "is-rust-slim-yet")

2. Let the page attempt to load (the last thing I see in the status bar at the bottom of the window is "Transferring data from c.statcounter.com"

3. Attempt to interact with the browser.  Right-click does not work.  Switching tabs does not work.  The menu on Mac OS X does not work.

I have noticed that when I enable E10S with Nightly, then the story here is a little bit better, in that then the problem is isolated to just the window that was used to browse to is-rust-slim-yet.  But even there, one still cannot switch to other tabs in that window.
I can reproduce this, but profiling it with Instruments shows all time spent under mozilla::gfx::DrawTargetCG::Stroke.

Also, it recovers after a long while, so it's not a complete iloop.
Component: JavaScript Engine → Graphics
Needinfo for jwatt after reading his blog posts on the SVG conversion to Moz2D. This is clearly related to SVG rendering and might be a regression from that work. (Also moving component accordingly.)
Component: Graphics → SVG
Flags: needinfo?(jwatt)
Flags: needinfo?(jwatt)
Attachment #8526032 - Attachment description: reduced testcase → testcase reduced to single, 8 MB path (HANG!)
Probably not much we can do about this except for finish bug 939709. (Or the sub-project bug 932958 would fix the canvas equivalent of this, at which time you could switch to canvas until bug 939709 is fixed.)
Component: SVG → Graphics
Depends on: 939709, 932958
Flags: needinfo?(jmuizelaar)
Summary: browser totally unresponsive on is-rust-slim-yet's use of D3.js → Hang for a long time under CGContextDrawPath stroking 8 MB path (browser totally unresponsive on is-rust-slim-yet's use of D3.js)
Depends on: 1150944
We switched to using Skia as the Moz2D backend on Mac. Once that makes it out in a release build we should retest and close this.
Depends on: skia-osx
Flags: needinfo?(jmuizelaar)
You need to log in before you can comment on or make changes to this bug.