Bug 119205
Summary: | ASSERT(!needsLayout()) when opening http://www.kohls.com | ||
---|---|---|---|
Product: | WebKit | Reporter: | Stephen <sfcheng> |
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
Status: | UNCONFIRMED | ||
Severity: | Major | CC: | ap, deepak.m1, sfcheng, simon.fraser |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | Windows 7 | ||
URL: | http://www.kohls.com |
Stephen
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++
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Alexey Proskuryakov
I cannot reproduce this on Mac ToT. Closing, as Qt port has been removed from WebKit.
Deepak Mittal
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 ..
Alexey Proskuryakov
Please attach a crash log if you can reproduce this.
Deepak Mittal
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.