Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.3.0 Beta1, 5.3.0 RC1
-
None
-
This stacktrace is comming from Linux 64 Bit, but the crash also happens on Windows 32 Bit.
-
626e0c352765ecbe4211861b00d6ed56d974204e 3f0e9bb8f2f938c6e18e09d1b7c567e537dffbd9
Description
While displaying web content we receive segmentation faults with random timing. I've now rebuild Qt with debug symbols and can provide a full backtrace.
The stack trace is based on the 5.3.0-RC snapshot from today:
http://qt-mirror.dannhauer.de/snapshots/qt/5.3/5.3.0-RC/2014-05-07_85/qt-opensource-linux-x64-5.3.0-RC_2014-05-06_23-24-27-76.run
Short version here, long version as attachment. Please let me know if you need anything else.
0 WTFCrash Assertions.cpp 345 0x7ffff4c49659 1 WebCore::CoordinatedGraphicsScene::clearImageBackingContents CoordinatedGraphicsScene.cpp 570 0x7ffff3a6d760 2 WebCore::CoordinatedGraphicsScene::syncImageBackings CoordinatedGraphicsScene.cpp 541 0x7ffff3a6d327 3 WebCore::CoordinatedGraphicsScene::commitSceneState CoordinatedGraphicsScene.cpp 626 0x7ffff3a6daff 4 WTF::FunctionWrapper<void (WebCore::CoordinatedGraphicsScene::*)(WebCore::CoordinatedGraphicsState const&)>::operator() Functional.h 246 0x7ffff30643d8 5 WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (WebCore::CoordinatedGraphicsScene::*)(WebCore::CoordinatedGraphicsState const&)>, void (WebCore::CoordinatedGraphicsScene*, WebCore::CoordinatedGraphicsState)>::operator()() Functional.h 522 0x7ffff3064227 6 WTF::Function<void ()>::operator()() const Functional.h 704 0x7ffff31ec3b7 7 WebCore::CoordinatedGraphicsScene::syncRemoteContent CoordinatedGraphicsScene.cpp 679 0x7ffff3a6de7a 8 WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext CoordinatedGraphicsScene.cpp 80 0x7ffff3a6b3e1 9 WebKit::ContentsSGNode::render QtWebPageSGNode.cpp 65 0x7ffff325f5de 10 QSGBatchRenderer::Renderer::renderRenderNode qsgbatchrenderer.cpp 2503 0x7ffff73f71cc 11 QSGBatchRenderer::Renderer::renderBatches qsgbatchrenderer.cpp 2276 0x7ffff73f589b 12 QSGBatchRenderer::Renderer::render qsgbatchrenderer.cpp 2431 0x7ffff73f6bc1 13 QSGRenderer::renderScene qsgrenderer.cpp 259 0x7ffff740adcc 14 QSGRenderer::renderScene qsgrenderer.cpp 218 0x7ffff740abde 15 QSGRenderContext::renderNextFrame qsgcontext.cpp 356 0x7ffff742441d 16 QQuickWindowPrivate::renderSceneGraph qquickwindow.cpp 386 0x7ffff747c263 17 QSGWindowsRenderLoop::renderWindow qsgwindowsrenderloop.cpp 458 0x7ffff74513bb 18 QSGWindowsRenderLoop::render qsgwindowsrenderloop.cpp 398 0x7ffff745107e 19 QSGWindowsRenderLoop::event qsgwindowsrenderloop.cpp 378 0x7ffff7451013 20 QApplicationPrivate::notify_helper qapplication.cpp 3500 0x7ffff2254ae0
Here is the function where the assert happens:
void CoordinatedGraphicsScene::clearImageBackingContents(CoordinatedImageBackingID imageID) { ASSERT(m_imageBackings.contains(imageID)); ImageBackingMap::iterator it = m_imageBackings.find(imageID); RefPtr<CoordinatedBackingStore> backingStore = it->value; backingStore->removeAllTiles(); m_backingStoresWithPendingBuffers.add(backingStore); }