Bug 145796 - Animating SVG (D3js) cause Safari hang up
Summary: Animating SVG (D3js) cause Safari hang up
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac (Intel) OS X 10.10
: P2 Critical
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-09 05:40 PDT by wassx
Modified: 2019-06-19 17:15 PDT (History)
3 users (show)

See Also:


Attachments
Sample of the process (103.83 KB, text/plain)
2015-06-09 05:40 PDT, wassx
no flags Details
Log file from console (60.51 KB, application/octet-stream)
2015-06-09 05:41 PDT, wassx
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description wassx 2015-06-09 05:40:54 PDT
Created attachment 254559 [details]
Sample of the process

It is hard to reproduce. On my local machine i could reproduce it very rare. On our in house server, it occurs much more often, but still I have not found a way to clearly reproduce the error (still after 4 days of investigation).

The problem occurs, when multiple svg arcs are animated in its size (d3js transition arctween). After triggering this animation randomly (various mouse clicks) the animation gets stuck and safari hangs up.
I recorded a sample of the web content process and from the console and recognized a hanging loop in the glDrawArrays of the GLEngine.

I attached both stacktraces as it is the only hint i have found on this issue. Here is an excerpt, which i think is the critical part:

    +                             878 CA::OGL::GLContext::draw_lines(unsigned int, unsigned int, CA::OGL::LineVertex const*)  (in QuartzCore) + 110  [0x7fff91bbfa6a]
    +                             : 667 glDrawArrays_IMM_Exec  (in GLEngine) + 856  [0x7fff92cdb72d]
    +                             : | 112 ???  (in <unknown binary>)  [0x111c3d731]
    +                             : | 61 ???  (in <unknown binary>)  [0x111c3d734]
    +                             : | 59 ???  (in <unknown binary>)  [0x111c3d726]
    +                             : | 56 ???  (in <unknown binary>)  [0x111c3d73e]
    +                             : | 52 ???  (in <unknown binary>)  [0x111c3d741]
    +                             : | 48 ???  (in <unknown binary>)  [0x111c3d759]
    +                             : | 46 ???  (in <unknown binary>)  [0x111c3d72d]
    +                             : | 45 ???  (in <unknown binary>)  [0x111c3d753]
    +                             : | 37 ???  (in <unknown binary>)  [0x111c3d73b]
    +                             : | 37 ???  (in <unknown binary>)  [0x111c3d74c]
    +                             : | 35 ???  (in <unknown binary>)  [0x111c3d74f]
    +                             : | 32 ???  (in <unknown binary>)  [0x111c3d756]
    +                             : | 28 ???  (in <unknown binary>)  [0x111c3d745]
    +                             : | 19 ???  (in <unknown binary>)  [0x111c3d75c]
    +                             : 93 glDrawArrays_IMM_Exec  (in GLEngine) + 763  [0x7fff92cdb6d0]
    +                             : | 92 gleFlushPrimitiveTCLFunc  (in GLEngine) + 752  [0x7fff92d471a6]
Comment 1 wassx 2015-06-09 05:41:33 PDT
Created attachment 254560 [details]
Log file from console
Comment 2 Jon Lee 2019-06-19 17:15:38 PDT
We're going to need a sample project or a URL that can reproduce this problem to make this actionable. If you still experience the problem and can give us a sample, feel free to reopen.

Marking as Invalid since we don't have a "Insufficient Info" sub-status available.