Bug 119205 - ASSERT(!needsLayout()) when opening http://www.kohls.com
Summary: ASSERT(!needsLayout()) when opening http://www.kohls.com
Status: UNCONFIRMED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows 7
: P2 Major
Assignee: Nobody
URL: http://www.kohls.com
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-28 23:57 PDT by Stephen
Modified: 2014-02-13 23:45 PST (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephen 2013-07-28 23:57:15 PDT
I am using QtWebkit 5.1.0 on Windows 7 x64. 

Crash is located here:

void RenderView::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
{
    // If we ever require layout but receive a paint anyway, something has gone horribly wrong.
    ASSERT(!needsLayout());    <---Assert failure here. 
    // RenderViews should never be called to paint with an offset not on device pixels.
    ASSERT(LayoutPoint(IntPoint(paintOffset.x(), paintOffset.y())) == paintOffset);

    // This avoids painting garbage between columns if there is a column gap.
    if (m_frameView && m_frameView->pagination().mode != Pagination::Unpaginated)
        paintInfo.context->fillRect(paintInfo.rect, m_frameView->baseBackgroundColor(), ColorSpaceDeviceRGB);

    paintObject(paintInfo, paintOffset);
}


Stack trace:

 	ntdll.dll!_ZwRaiseException@12()  + 0x12 bytes	
 	ntdll.dll!_ZwRaiseException@12()  + 0x12 bytes	
>	Qt5WebKitd.dll!WebCore::RenderView::paint(WebCore::PaintInfo & paintInfo={...}, const WebCore::LayoutPoint & paintOffset={...})  Line 292 + 0x35 bytes	C++
 	Qt5WebKitd.dll!WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext * context=0x169d7ca8, const WebCore::RenderLayer::LayerPaintingInfo & paintingInfo={...}, unsigned int paintFlags=224)  Line 3387	C++
 	Qt5WebKitd.dll!WebCore::RenderLayerBacking::paintIntoLayer(WebCore::RenderLayer * rootLayer=0x148855bc, WebCore::GraphicsContext * context=0x169d7ca8, const WebCore::IntRect & paintDirtyRect={...}, unsigned int paintBehavior=0, unsigned int paintingPhase=7)  Line 1548	C++
 	Qt5WebKitd.dll!WebCore::RenderLayerBacking::paintContents(const WebCore::GraphicsLayer * graphicsLayer=0x13fe31c8, WebCore::GraphicsContext & context={...}, unsigned int paintingPhase=7, const WebCore::IntRect & clip={...})  Line 1587	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayer::paintGraphicsLayerContents(WebCore::GraphicsContext & context={...}, const WebCore::IntRect & clip={...})  Line 334	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::prepareBackingStore()  Line 479	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::updateBackingStore()  Line 433	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingState()  Line 413	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 419	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::didFlushCompositingStateRecursive()  Line 420 + 0x25 bytes	C++
 	Qt5WebKitd.dll!WebCore::GraphicsLayerTextureMapper::flushCompositingState(const WebCore::FloatRect & __formal={...})  Line 408	C++
 	Qt5WebKitd.dll!WebCore::RenderLayerCompositor::flushPendingLayerChanges(bool isFlushRoot=true)  Line 327	C++
 	Qt5WebKitd.dll!WebCore::FrameView::flushCompositingStateForThisFrame(WebCore::Frame * rootFrameForFlush=0x10aec608)  Line 841	C++
 	Qt5WebKitd.dll!WebCore::FrameView::flushCompositingStateIncludingSubframes()  Line 921 + 0x17 bytes	C++
 	Qt5WebKitd.dll!WebCore::TextureMapperLayerClientQt::syncLayers(WebCore::Timer<WebCore::TextureMapperLayerClientQt> * __formal=0x1665a8f0)  Line 91	C++
 	Qt5WebKitd.dll!WebCore::Timer<WebCore::SMILTimeContainer>::fired()  Line 106 + 0x19 bytes	C++
 	Qt5WebKitd.dll!WebCore::ThreadTimers::sharedTimerFiredInternal()  Line 119	C++
 	Qt5WebKitd.dll!WebCore::ThreadTimers::sharedTimerFired()  Line 94	C++
 	Qt5WebKitd.dll!WebCore::SharedTimerQt::timerEvent(QTimerEvent * ev=0x00c5ccbc)  Line 114	C++
 	Qt5Cored.dll!QObject::event(QEvent * e=0x00c5ccbc)  Line 1052	C++
 	Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0df6d548, QEvent * e=0x00c5ccbc)  Line 3455 + 0x11 bytes	C++
 	Qt5Widgetsd.dll!QApplication::notify(QObject * receiver=0x0df6d548, QEvent * e=0x00c5ccbc)  Line 2876 + 0x10 bytes	C++
 	Qt5Cored.dll!QCoreApplication::notifyInternal(QObject * receiver=0x0df6d548, QEvent * event=0x00c5ccbc)  Line 871 + 0x15 bytes	C++
 	Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver=0x0df6d548, QEvent * event=0x00c5ccbc)  Line 232 + 0x39 bytes	C++
 	Qt5Cored.dll!QEventDispatcherWin32Private::sendTimerEvent(int timerId=6)  Line 580 + 0x10 bytes	C++
 	Qt5Cored.dll!QEventDispatcherWin32::event(QEvent * e=0x1709dfa8)  Line 1132	C++
 	Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x0c2df638, QEvent * e=0x1709dfa8)  Line 3455 + 0x11 bytes	C++
 	Qt5Widgetsd.dll!QApplication::notify(QObject * receiver=0x0c2df638, QEvent * e=0x1709dfa8)  Line 2876 + 0x10 bytes	C++
 	Qt5Cored.dll!QCoreApplication::notifyInternal(QObject * receiver=0x0c2df638, QEvent * event=0x1709dfa8)  Line 871 + 0x15 bytes	C++
 	Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver=0x0c2df638, QEvent * event=0x1709dfa8)  Line 232 + 0x39 bytes	C++
 	Qt5Cored.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x00000000, int event_type=0, QThreadData * data=0x0c2dfdd8)  Line 1473 + 0x12 bytes	C++
 	Qt5Cored.dll!QCoreApplication::sendPostedEvents(QObject * receiver=0x00000000, int event_type=0)  Line 1333 + 0x11 bytes	C++
 	Qt5Guid.dll!QWindowSystemInterface::sendWindowSystemEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 560 + 0xa bytes	C++
 	qwindowsd.dll!QWindowsGuiEventDispatcher::sendPostedEvents()  Line 86 + 0xd bytes	C++
 	Qt5Cored.dll!qt_internal_proc(HWND__ * hwnd=0x00661a8c, unsigned int message=1025, unsigned int wp=0, long lp=0)  Line 431	C++
 	user32.dll!_InternalCallWinProc@20()  + 0x23 bytes	
 	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb7 bytes	
 	user32.dll!_DispatchMessageWorker@8()  + 0xed bytes	
 	user32.dll!_DispatchMessageW@4()  + 0xf bytes	
 	Qt5Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 752	C++
 	qwindowsd.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 78 + 0xd bytes	C++
 	Qt5Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 137	C++
 	Qt5Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...})  Line 212 + 0x26 bytes	C++
 	Qt5Cored.dll!QCoreApplication::exec()  Line 1124 + 0x15 bytes	C++
 	Qt5Guid.dll!QGuiApplication::exec()  Line 1197	C++
 	Qt5Widgetsd.dll!QApplication::exec()  Line 2690	C++
Comment 1 Alexey Proskuryakov 2014-02-11 10:40:16 PST
I cannot reproduce this on Mac ToT. Closing, as Qt port has been removed from WebKit.
Comment 2 Deepak Mittal 2014-02-11 18:45:12 PST
But while loading http://www.kohls.com and then scrolling for somtime crash is happening on the latest webkit..
Alexey can you please check again ..
Comment 3 Alexey Proskuryakov 2014-02-11 20:41:22 PST
Please attach a crash log if you can reproduce this.
Comment 4 Deepak Mittal 2014-02-13 21:51:39 PST
hi Alexey,

When I load http://www.kohls.com in my visual studio latest code build then I am getting crash and CrashReport.dmp file get generated.

But I don't know how to convert this crashReport.dmp file to callstack..But it is happening everytime.