Bug 118138

Summary: [Qt][WK2] tst_QQuickWebView::removeFromCanvas() API tests fails.
Product: WebKit Reporter: Gábor Ábrahám <abrhm>
Component: Tools / TestsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: abecsi, hausmann, jturcotte, kadam, ossy, yoon, zarvai
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 70236    

Description Gábor Ábrahám 2013-06-27 08:15:22 PDT
Message on bot:
QFATAL : tst_QQuickWebView::removeFromCanvas() Received signal 11
FAIL!  : tst_QQuickWebView::removeFromCanvas() Received a fatal error.
   Loc: [Unknown file(0)]

I generated backtrace:

#0  0x00007ffff5515936 in WTFCrash () at /home/abrhm/webkit/WebKit/Source/WTF/wtf/Assertions.cpp:339
#1  0x00007ffff4c18da2 in WebCore::CoordinatedGraphicsScene::layerByID (this=0x73f130, id=67)
    at /home/abrhm/webkit/WebKit/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:126
#2  0x00007ffff4c1b3eb in WebCore::CoordinatedGraphicsScene::setRootLayerID (this=0x73f130, layerID=67)
    at /home/abrhm/webkit/WebKit/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:418
#3  0x00007ffff4c1c820 in WebCore::CoordinatedGraphicsScene::commitSceneState (this=0x73f130, state=...)
    at /home/abrhm/webkit/WebKit/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:624
#4  0x00007ffff3ac6e8f in WTF::FunctionWrapper<void (WebCore::CoordinatedGraphicsScene::*)(WebCore::CoordinatedGraphicsState const&)>::operator() (this=0x741510, c=0x73f130, p1=...) at /home/abrhm/webkit/WebKit/Source/WTF/wtf/Functional.h:246
#5  0x00007ffff3ac6d03 in WTF::BoundFunctionImpl<WTF::FunctionWrapper<void (WebCore::CoordinatedGraphicsScene::*)(WebCore::CoordinatedGraphicsState const&)>, void (WebCore::CoordinatedGraphicsScene*, WebCore::CoordinatedGraphicsState)>::operator()() (this=0x741500)
    at /home/abrhm/webkit/WebKit/Source/WTF/wtf/Functional.h:522
#6  0x00007ffff3c5bddd in WTF::Function<void ()>::operator()() const (this=0x6cefb0)
    at /home/abrhm/webkit/WebKit/Source/WTF/wtf/Functional.h:704
#7  0x00007ffff4c1cbb8 in WebCore::CoordinatedGraphicsScene::syncRemoteContent (this=0x73f130)
    at /home/abrhm/webkit/WebKit/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:679
#8  0x00007ffff4c19712 in WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext (this=0x73f130, matrix=..., opacity=1, clipRect=..., 
    PaintFlags=0) at /home/abrhm/webkit/WebKit/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:80
#9  0x00007ffff3cd980f in WebKit::ContentsSGNode::render (this=0x7fff743c85c0, state=...)
    at /home/abrhm/webkit/WebKit/Source/WebKit2/UIProcess/qt/QtWebPageSGNode.cpp:65
#10 0x00007ffff7983478 in QSGDefaultRenderer::renderNodes(QSGNode* const*, int) ()
   from /usr/local/Trolltech/Qt5/Qt-5.0.1/lib/libQt5Quick.so.5
#11 0x00007ffff7983f83 in QSGDefaultRenderer::render() () from /usr/local/Trolltech/Qt5/Qt-5.0.1/lib/libQt5Quick.so.5
#12 0x00007ffff7989e59 in QSGRenderer::renderScene(QSGBindable const&) () from /usr/local/Trolltech/Qt5/Qt-5.0.1/lib/libQt5Quick.so.5
#13 0x00007ffff7989f87 in QSGRenderer::renderScene() () from /usr/local/Trolltech/Qt5/Qt-5.0.1/lib/libQt5Quick.so.5
#14 0x00007ffff7994054 in QSGContext::renderNextFrame(QSGRenderer*, unsigned int) ()
   from /usr/local/Trolltech/Qt5/Qt-5.0.1/lib/libQt5Quick.so.5
#15 0x00007ffff79c3cce in QQuickWindowPrivate::renderSceneGraph(QSize const&) () from /usr/local/Trolltech/Qt5/Qt-5.0.1/lib/libQt5Quick.so.5
#16 0x00007ffff7aaf2b7 in ?? () from /usr/local/Trolltech/Qt5/Qt-5.0.1/lib/libQt5Quick.so.5
#17 0x00007ffff26c3876 in ?? () from /usr/local/Trolltech/Qt5/Qt-5.0.1/lib/libQt5Core.so.5
#18 0x00007fffed8d1e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#19 0x00007ffff204cccd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#20 0x0000000000000000 in ?? ()
Comment 1 Gwang Yoon Hwang 2013-06-28 05:04:08 PDT
I've found the problem of this failure.

When QtWebPageSGNode destructed, CoordinatedGraphicsScene clears its all of resources including m_registeredLayers during purgeGLResources but CoordinatedLayerTreeHost clears just backingstores.

To fix this failure, I think we need to destruct all of CoordinatedGraphicsLayers in CoordinatedLayerTreeHost during purgeBackingStore.
Comment 2 Jocelyn Turcotte 2014-02-03 03:26:26 PST
=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.