Summary: | Crash (preceded by assertion) in WKCACFLayerRenderer::setNeedsDisplay when computer wakes from sleep on particular page | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Adam Roben (:aroben) <aroben> | ||||||
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | cmarrin, enrica, sfalken, simon.fraser, sullivan | ||||||
Priority: | P2 | Keywords: | InRadar, PlatformOnly | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | PC | ||||||||
OS: | Windows XP | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 39297 | ||||||||
Attachments: |
|
Created attachment 56384 [details]
Fix a crash when a page that uses accelerated compositing loads soon after the computer wakes from sleep
Committed r59682: <http://trac.webkit.org/changeset/59682> |
Created attachment 56382 [details] testcase (just an auto-reloading version of poster-circle.html) To reproduce: 1. Load the attached testcase 2. Put your computer to sleep 3. Wake your computer up You'll crash inside WKCACFLayerRenderer::setNeedsDisplay due to m_rootLayer being null. Here's a partial backtrace: WKCACFLayerRenderer::setNeedsDisplay(void)+0xf WebView::repaint(class WebCore::IntRect * windowRect = 0x7fb4ad20, bool contentChanged = true, bool immediate = false, bool repaintContentOnly = false)+0x29 WebChromeClient::invalidateContentsAndWindow(class WebCore::IntRect * windowRect = 0x68407b51, bool immediate = false)+0x16 WebCore::ScrollView::repaintContentRectangle(class WebCore::IntRect * rect = 0x7c2ff300, bool now = false)+0x9b WebCore::FrameView::doDeferredRepaints(void)+0x81 WebCore::FrameView::endDeferredRepaints(void)+0x78 WebCore::FrameView::layout(bool allowSubtree = true)+0x5a2 WebCore::Timer<WebCore::MediaPlayerPrivate>::fired(void)+0xe WebCore::ThreadTimers::sharedTimerFiredInternal(void)+0xef WebCore::ThreadTimers::sharedTimerFired(void)+0xe