Bug 79805 - ASSERTION FAILED: !needsLayout() on wired.com
Summary: ASSERTION FAILED: !needsLayout() on wired.com
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-28 09:11 PST by Andras Becsi
Modified: 2012-03-02 05:53 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andras Becsi 2012-02-28 09:11:28 PST
Reproducible with Qt MiniBrowser when loading wired.com.
Not sure if it is Qt only or not, someone needs to verify, but looks like a WebCore issue.

Program received signal SIGSEGV, Segmentation fault.                                                                                                 
[Switching to Thread 0x7fff9b1c9700 (LWP 3009)]                                                                                                      
0x00007ffff506447b in WebCore::FrameView::paintContents (this=0x134e370, p=0x17b5330, rect=...) at ../../../../Source/WebCore/page/FrameView.cpp:2877
2877        ASSERT(!needsLayout());
(gdb) bt
#0  0x00007ffff506447b in WebCore::FrameView::paintContents (this=0x134e370, p=0x17b5330, rect=...) at ../../../../Source/WebCore/page/FrameView.cpp:2877
#1  0x00007ffff5145768 in WebCore::ScrollView::paint (this=0x134e370, context=0x17b5330, rect=...) at ../../../../Source/WebCore/platform/ScrollView.cpp:1043
#2  0x00007ffff531a29a in WebCore::RenderWidget::paint (this=0x215b528, paintInfo=..., paintOffset=...) at ../../../../Source/WebCore/rendering/RenderWidget.cpp:290
#3  0x00007ffff518dc03 in WebCore::InlineBox::paint (this=0x18f9788, paintInfo=..., paintOffset=...) at ../../../../Source/WebCore/rendering/InlineBox.cpp:238
#4  0x00007ffff51951fb in WebCore::InlineFlowBox::paint (this=0x17180b8, paintInfo=..., paintOffset=..., lineTop=0, lineBottom=418) at ../../../../Source/WebCore/rendering/InlineFlowBox.cpp:1069
#5  0x00007ffff53209e0 in WebCore::RootInlineBox::paint (this=0x17180b8, paintInfo=..., paintOffset=..., lineTop=0, lineBottom=418) at ../../../../Source/WebCore/rendering/RootInlineBox.cpp:196
#6  0x00007ffff529c9b3 in WebCore::RenderLineBoxList::paint (this=0x11b4ff8, renderer=0x11b4f58, paintInfo=..., paintOffset=...) at ../../../../Source/WebCore/rendering/RenderLineBoxList.cpp:262
#7  0x00007ffff51b7251 in WebCore::RenderBlock::paintContents (this=0x11b4f58, paintInfo=..., paintOffset=...) at ../../../../Source/WebCore/rendering/RenderBlock.cpp:2696
#8  0x00007ffff51b7abe in WebCore::RenderBlock::paintObject (this=0x11b4f58, paintInfo=..., paintOffset=...) at ../../../../Source/WebCore/rendering/RenderBlock.cpp:2806
#9  0x00007ffff51b6294 in WebCore::RenderBlock::paint (this=0x11b4f58, paintInfo=..., paintOffset=...) at ../../../../Source/WebCore/rendering/RenderBlock.cpp:2549
#10 0x00007ffff527cd10 in WebCore::RenderLayer::paintLayerContents (this=0x11b51c8, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2925
#11 0x00007ffff527c543 in WebCore::RenderLayer::paintLayerContentsAndReflection (this=0x11b51c8, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2826
#12 0x00007ffff527c41d in WebCore::RenderLayer::paintLayer (this=0x11b51c8, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2807
#13 0x00007ffff527d273 in WebCore::RenderLayer::paintList (this=0x7bb418, list=0x11ff980, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2990
#14 0x00007ffff527cf3a in WebCore::RenderLayer::paintLayerContents (this=0x7bb418, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2946
#15 0x00007ffff527c543 in WebCore::RenderLayer::paintLayerContentsAndReflection (this=0x7bb418, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2826
#16 0x00007ffff527c41d in WebCore::RenderLayer::paintLayer (this=0x7bb418, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2807
#17 0x00007ffff527d273 in WebCore::RenderLayer::paintList (this=0x7b1a78, list=0xa2b5c0, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2990
#18 0x00007ffff527cf3a in WebCore::RenderLayer::paintLayerContents (this=0x7b1a78, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=224) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2946
#19 0x00007ffff527c543 in WebCore::RenderLayer::paintLayerContentsAndReflection (this=0x7b1a78, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=0) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2826
#20 0x00007ffff527c41d in WebCore::RenderLayer::paintLayer (this=0x7b1a78, rootLayer=0x7b1a78, context=0x17b5330, paintDirtyRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, 
    overlapTestRequests=0x7fffffffcbb0, paintFlags=0) at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2807
#21 0x00007ffff527b75e in WebCore::RenderLayer::paint (this=0x7b1a78, context=0x17b5330, damageRect=..., paintBehavior=0, paintingRoot=0x0, region=0x0, paintFlags=0)
    at ../../../../Source/WebCore/rendering/RenderLayer.cpp:2624
#22 0x00007ffff5064717 in WebCore::FrameView::paintContents (this=0x75d930, p=0x17b5330, rect=...) at ../../../../Source/WebCore/page/FrameView.cpp:2913
#23 0x00007ffff5145768 in WebCore::ScrollView::paint (this=0x75d930, context=0x17b5330, rect=...) at ../../../../Source/WebCore/platform/ScrollView.cpp:1043
#24 0x00007ffff482e306 in WebKit::WebPage::drawRect (this=0x7420a0, graphicsContext=..., rect=...) at ../../../../Source/WebKit2/WebProcess/WebPage/WebPage.cpp:905
#25 0x00007ffff48404ad in WebKit::LayerTreeHostQt::paintContents (this=0x69fa50, graphicsLayer=0x749650, graphicsContext=..., clipRect=...) at ../../../../Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp:373
#26 0x00007ffff50d8208 in WebCore::GraphicsLayer::paintGraphicsLayerContents (this=0x749650, context=..., clip=...) at ../../../../Source/WebCore/platform/graphics/GraphicsLayer.cpp:301
#27 0x00007ffff4809d1f in WebCore::WebGraphicsLayer::tiledBackingStorePaint (this=0x749650, context=0x17b5330, rect=...) at ../../../../Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:519
#28 0x00007ffff481cba8 in WebKit::TiledBackingStoreRemoteTile::updateBackBuffer (this=0x89f5a0) at ../../../../Source/WebKit2/WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:79
#29 0x00007ffff50ed91d in WebCore::TiledBackingStore::updateTileBuffers (this=0x7d4b60) at ../../../../Source/WebCore/platform/graphics/TiledBackingStore.cpp:128
#30 0x00007ffff480a2f4 in WebCore::WebGraphicsLayer::updateContentBuffers (this=0x749650) at ../../../../Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:599
#31 0x00007ffff480963d in WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly (this=0x749650) at ../../../../Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:434
#32 0x00007ffff483f85f in WebKit::LayerTreeHostQt::flushPendingLayerChanges (this=0x69fa50) at ../../../../Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp:224
#33 0x00007ffff483facd in WebKit::LayerTreeHostQt::performScheduledLayerFlush (this=0x69fa50) at ../../../../Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp:267
#34 0x00007ffff483fbc6 in WebKit::LayerTreeHostQt::layerFlushTimerFired (this=0x69fa50) at ../../../../Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp:289
#35 0x00007ffff4845d18 in WebCore::Timer<WebKit::LayerTreeHostQt>::fired (this=0x69fb60) at ../../../../Source/WebCore/platform/Timer.h:100
#36 0x00007ffff51630bb in WebCore::ThreadTimers::sharedTimerFiredInternal (this=0x70c1d0) at ../../../../Source/WebCore/platform/ThreadTimers.cpp:115
#37 0x00007ffff5162fe9 in WebCore::ThreadTimers::sharedTimerFired () at ../../../../Source/WebCore/platform/ThreadTimers.cpp:93
#38 0x00007ffff53ef5d4 in WebCore::SharedTimerQt::timerEvent (this=0x70bc90, ev=0x7fffffffddf0) at ../../../../Source/WebCore/platform/qt/SharedTimerQt.cpp:113
#39 0x00007ffff087d946 in QObject::event (this=0x70bc90, e=0x7fffffffddf0) at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qobject.cpp:995
#40 0x00007ffff19bec8c in QApplicationPrivate::notify_helper (this=0x612330, receiver=0x70bc90, e=0x7fffffffddf0) at /home/abecsi/devel/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3716
#41 0x00007ffff19bc322 in QApplication::notify (this=0x601400, receiver=0x70bc90, e=0x7fffffffddf0) at /home/abecsi/devel/git/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3175
#42 0x00007ffff0849176 in QCoreApplication::notifyInternal (this=0x601400, receiver=0x70bc90, event=0x7fffffffddf0) at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:699
#43 0x00007ffff084cee7 in QCoreApplication::sendEvent (receiver=0x70bc90, event=0x7fffffffddf0) at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.h:206
#44 0x00007ffff08b0896 in QTimerInfoList::activateTimers (this=0x6264a0) at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:613
#45 0x00007ffff08b1a5d in timerSourceDispatch (source=0x626440) at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:186
#46 0x00007fffeb8e78bd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#47 0x00007fffeb8e80b8 in ?? () from /usr/lib/libglib-2.0.so.0
#48 0x00007fffeb8e8289 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#49 0x00007ffff08b2507 in QEventDispatcherGlib::processEvents (this=0x619930, flags=...) at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#50 0x00007ffff0846506 in QEventLoop::processEvents (this=0x7fffffffe110, flags=...) at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:135
#51 0x00007ffff08467fd in QEventLoop::exec (this=0x7fffffffe110, flags=...) at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:211
#52 0x00007ffff0849837 in QCoreApplication::exec () at /home/abecsi/devel/git/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:953
#53 0x00007ffff53d9b2d in WebCore::RunLoop::run () at ../../../../Source/WebCore/platform/qt/RunLoopQt.cpp:69
#54 0x00007ffff485e5f6 in WebKit::WebProcessMainQt (argc=2, argv=0x7fffffffe408) at ../../../../Source/WebKit2/WebProcess/qt/WebProcessMainQt.cpp:209
#55 0x0000000000400734 in main (argc=2, argv=0x7fffffffe408) at ../../../../Source/WebKit2/qt/MainQt.cpp:38
Comment 1 Simon Fraser (smfr) 2012-02-28 14:11:04 PST
Probably cause by failing to udpate layer before TiledBackingStoreRemoteTile does its painting. We have similar issues with tiled layers on Mac.
Comment 2 zalan 2012-03-02 05:53:36 PST
may be duplicate of or related to 80155