Bug 13539 - Lots of Crashes when using Canvex (Canvas Technology Demo)
Summary: Lots of Crashes when using Canvex (Canvas Technology Demo)
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 523.x (Safari 3)
Hardware: Mac OS X 10.4
: P1 Normal
Assignee: Nobody
URL: http://canvex.lazyilluminati.com/83/p...
Keywords: InRadar, NeedsReduction
Depends on:
Blocks:
 
Reported: 2007-04-29 02:02 PDT by Elliott Sprehn
Modified: 2007-07-09 10:26 PDT (History)
1 user (show)

See Also:


Attachments
Crash Log Sample 1 (21.81 KB, text/plain)
2007-04-29 02:03 PDT, Elliott Sprehn
no flags Details
Crash Log Sample 2 (19.42 KB, text/plain)
2007-04-29 02:03 PDT, Elliott Sprehn
no flags Details
Crash Log Sample 3 (31.78 KB, text/plain)
2007-04-29 02:03 PDT, Elliott Sprehn
no flags Details
Crash Log Sample 4 (35.70 KB, text/plain)
2007-04-29 02:03 PDT, Elliott Sprehn
no flags Details
Crash Log Sample 5 (22.00 KB, text/plain)
2007-04-29 02:04 PDT, Elliott Sprehn
no flags Details
Crash Log Sample 6 (20.77 KB, text/plain)
2007-04-29 02:04 PDT, Elliott Sprehn
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Elliott Sprehn 2007-04-29 02:02:04 PDT
The Canvex page causes frequent crashes when moving around the game world and resizing the game window.

No reproducible steps yet, though its quite common after corrupting the game world (ref: <http://bugs.webkit.org/show_bug.cgi?id=13537>) and then rezising the game window. This may need to be repeated several times.

Occurs in latest nightly (Sun Apr 29 3:44:55 GMT 2007).
Comment 1 Elliott Sprehn 2007-04-29 02:03:16 PDT
Created attachment 14258 [details]
Crash Log Sample 1
Comment 2 Elliott Sprehn 2007-04-29 02:03:31 PDT
Created attachment 14259 [details]
Crash Log Sample 2
Comment 3 Elliott Sprehn 2007-04-29 02:03:47 PDT
Created attachment 14260 [details]
Crash Log Sample 3
Comment 4 Elliott Sprehn 2007-04-29 02:03:58 PDT
Created attachment 14261 [details]
Crash Log Sample 4
Comment 5 Elliott Sprehn 2007-04-29 02:04:38 PDT
Created attachment 14262 [details]
Crash Log Sample 5
Comment 6 Elliott Sprehn 2007-04-29 02:04:48 PDT
Created attachment 14263 [details]
Crash Log Sample 6
Comment 7 Alexey Proskuryakov 2007-05-01 03:33:20 PDT
I did get a crash, but only after playing with the demo for several minutes.
Comment 8 Eric Seidel (no email) 2007-05-04 00:10:13 PDT
I didn't see it crash.  There seems to be at least one bug with the page though.  It doesn't seem to be calling event.stopDispatch() on the keyboard events to prevent scrolling.
Comment 9 Darin Adler 2007-05-04 19:44:32 PDT
No 2 of these crash logs look related.
Comment 10 Darin Adler 2007-05-04 19:54:38 PDT
I can reproduce these crashes, though.
Comment 11 Elliott Sprehn 2007-05-04 20:04:41 PDT
(In reply to comment #9)
> No 2 of these crash logs look related.
> 

I know. I wasn't sure how to describe them so they were bundled into a single ticket. 

Maciej commented it looked like memory trashing too.
Comment 12 Darin Adler 2007-05-04 21:45:09 PDT
I believe the crashes have something to do with the fact that we keep doing save() operations without matching restore() operations. The rendering context doesn't attempt to do anything to limit how deep that nesting can go. I believe the reason this is happening is that Canvex doesn't expect to get an exception from drawImage, but it gets one.
Comment 13 Darin Adler 2007-05-04 22:12:13 PDT
I don't understand exactly why these crahes are happening, but I suspect that limiting the level of save() stack that the 2D graphics context will allow might solve the problem. Perhaps we can reproduce this by just calling save() a lot in a loop.
Comment 14 Darin Adler 2007-05-04 22:18:39 PDT
<rdar://problem/5183688>
Comment 15 Darin Adler 2007-07-09 10:26:12 PDT
I believe other changes to canvas have now fixed this problem.