Bug 106419 - Assertion Failure in WebCore::RenderLayerCompositor::updateCompositingLayers
Summary: Assertion Failure in WebCore::RenderLayerCompositor::updateCompositingLayers
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac Unspecified
: P2 Normal
Assignee: Alexandru Chiculita
URL:
Keywords:
: 106453 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-01-08 23:08 PST by Stephanie Lewis
Modified: 2013-01-10 01:04 PST (History)
8 users (show)

See Also:


Attachments
Patch V1 (3.59 KB, patch)
2013-01-09 11:40 PST, Alexandru Chiculita
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stephanie Lewis 2013-01-08 23:08:52 PST
Due to http://trac.webkit.org/projects/webkit/changeset/139146

Failing on Mountain Lion and Lion, WK1 and Wk2.  Flaky.

http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r139161%20(5589)/results.html

+dom/html/level2/html/HTMLDocument11.html
+dom/html/level2/html/HTMLDocument01.html
+dom/html/level2/html/HTMLBodyElement09.html

http://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK2%20(Tests)/r139161%20(5589)/dom/html/level2/html/HTMLDocument11-crash-log.txt

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef

VM Regions Near 0xbbadbeef:
--> 
    __TEXT                 000000010ccce000-000000010cccf000 [    4K] r-x/rwx SM=COW  /Volumes/VOLUME/*/WebKit2.framework/WebProcess.app/Contents/MacOS/WebProcess

Application Specific Information:
CRASHING TEST: dom/html/level2/html/HTMLDocument11.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x00000001104f4f42 WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*) + 258 (RenderLayerCompositor.cpp:411)
1   com.apple.WebCore             	0x00000001104f2d5a WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired(WebCore::Timer<WebCore::RenderLayerCompositor>*) + 42 (RenderLayerCompositor.cpp:390)
2   com.apple.WebCore             	0x0000000110504ba3 WebCore::Timer<WebCore::RenderLayerCompositor>::fired() + 115 (Timer.h:106)
3   com.apple.WebCore             	0x0000000110a71006 WebCore::ThreadTimers::sharedTimerFiredInternal() + 294 (ThreadTimers.cpp:119)
4   com.apple.WebCore             	0x0000000110a70d99 WebCore::ThreadTimers::sharedTimerFired() + 25 (ThreadTimers.cpp:94)
5   com.apple.WebCore             	0x00000001107a0383 WebCore::timerFired(__CFRunLoopTimer*, void*) + 67 (SharedTimerMac.mm:167)
6   com.apple.CoreFoundation      	0x00007fff91020da4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
7   com.apple.CoreFoundation      	0x00007fff910208bd __CFRunLoopDoTimer + 557
8   com.apple.CoreFoundation      	0x00007fff91006099 __CFRunLoopRun + 1513
9   com.apple.CoreFoundation      	0x00007fff910056b2 CFRunLoopRunSpecific + 290
10  com.apple.HIToolbox           	0x00007fff927520a4 RunCurrentEventLoopInMode + 209
11  com.apple.HIToolbox           	0x00007fff92751e42 ReceiveNextEventCommon + 356
12  com.apple.HIToolbox           	0x00007fff92751cd3 BlockUntilNextEventMatchingListInMode + 62
13  com.apple.AppKit              	0x00007fff96821613 _DPSNextEvent + 685
14  com.apple.AppKit              	0x00007fff96820ed2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128
15  com.apple.AppKit              	0x00007fff96818283 -[NSApplication run] + 517
16  com.apple.WebCore             	0x00000001106cce0c WebCore::RunLoop::run() + 92 (RunLoopMac.mm:37)
17  com.apple.WebKit2             	0x000000010d0bc69f int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMainDelegate>(WebKit::CommandLine const&) + 815 (ChildProcessMain.h:106)
18  com.apple.WebKit2             	0x000000010d0bc365 WebKit::WebProcessMain(WebKit::CommandLine const&) + 21 (WebProcessMainMac.mm:152)
19  com.apple.WebKit2             	0x000000010cfa9419 WebKitMain(WebKit::CommandLine const&) + 201 (WebKitMain.cpp:56)
20  com.apple.WebKit2             	0x000000010cfa9329 WebKitMain + 153 (WebKitMain.cpp:86)
21  com.apple.WebProcess          	0x000000010ccceda2 main + 274
22  libdyld.dylib                 	0x00007fff981737e1 start + 1
Comment 1 Stephanie Lewis 2013-01-08 23:13:48 PST
Updated expectations in http://trac.webkit.org/projects/webkit/changeset/139168
Comment 2 Alexandru Chiculita 2013-01-09 10:11:03 PST
(In reply to comment #20 from 106068)

> Or maybe the compositor update should just bail if layout is dirty (as long as it will happen after the next layout).

Ok. I will replace the assert with a return. I cannot reproduce any of the crashes in local, so I'm trying to build a test to always reproduce the issue. It looks like the common pattern is the java applet that triggers the scheduled compositor update.
Comment 3 Geoffrey Garen 2013-01-09 11:02:48 PST
I don't think it's right to use expectations / skipping to fix new failures with a known cause. A better approach is to contact the author and/or roll out the offending patch.
Comment 4 Alexandru Chiculita 2013-01-09 11:20:30 PST
(In reply to comment #3)
> I don't think it's right to use expectations / skipping to fix new failures with a known cause. A better approach is to contact the author and/or roll out the offending patch.

I'm working on it. Will post a patch in a bit.
Comment 5 Alexandru Chiculita 2013-01-09 11:40:58 PST
Created attachment 181961 [details]
Patch V1
Comment 6 WebKit Review Bot 2013-01-09 12:47:40 PST
Comment on attachment 181961 [details]
Patch V1

Clearing flags on attachment: 181961

Committed r139229: <http://trac.webkit.org/changeset/139229>
Comment 7 WebKit Review Bot 2013-01-09 12:47:44 PST
All reviewed patches have been landed.  Closing bug.
Comment 8 Mikhail Pozdnyakov 2013-01-10 01:04:40 PST
*** Bug 106453 has been marked as a duplicate of this bug. ***