Bug 100247 - [Qt][WK2] Fix "Unable to find a renderable master window QQuickView" warnings in tst_QQuickWebView
Summary: [Qt][WK2] Fix "Unable to find a renderable master window QQuickView" warnings...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 420+
Hardware: All All
: P1 Blocker
Assignee: Balazs Kelemen
URL:
Keywords: Qt, QtTriaged
Depends on:
Blocks: 70236 76773
  Show dependency treegraph
 
Reported: 2012-10-24 07:17 PDT by Csaba Osztrogonác
Modified: 2012-10-31 09:46 PDT (History)
8 users (show)

See Also:


Attachments
Patch (2.53 KB, patch)
2012-10-28 16:47 PDT, Balazs Kelemen
no flags Details | Formatted Diff | Diff
Patch (4.97 KB, patch)
2012-10-30 10:25 PDT, Balazs Kelemen
no flags Details | Formatted Diff | Diff
Patch (3.80 KB, patch)
2012-10-31 09:32 PDT, Balazs Kelemen
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Csaba Osztrogonác 2012-10-24 07:17:04 PDT
The WK2 API tests work more or less (apart from https://wkb.ug/100224) 
with the actual Qt5 hash (34f1dbc74a893db80786a7723c6a90ff2cf7d7b7).
I tested the trunk qt5.git hash - 98a605eb6b085a0d95a8c7c3926e46ba35e865a5, but unfortunately
almost all API tests fail with it:

$ run-in-xvfb.sh python ./Tools/Scripts/run-qtwebkit-tests --output-file=qt-unit-tests.html --do-not-open-results --timeout=120 WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/
INFO:Exec:Running... WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qmltests/tst_qmltests_DesktopBehavior
INFO:Exec:Running... WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qmltests/tst_qmltests_WebView
INFO:Exec:Running... WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview
INFO:Exec:Running... WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver
INFO:Exec:Running... WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/publicapi/tst_publicapi
INFO:Exec:Running... WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview
INFO:Exec:Finished WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/publicapi/tst_publicapi
INFO:Exec:Finished WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver
INFO:Exec:Finished WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qmltests/tst_qmltests_DesktopBehavior
INFO:Exec:Finished WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview
ERROR:Exec:Timeout, process 'WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qmltests/tst_qmltests_WebView' (18674) was terminated
ERROR:Exec:Timeout, process 'WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview' (18680) was terminated
INFO:Exec:Finished WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qmltests/tst_qmltests_WebView
INFO:Exec:Finished WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview
WARNING:Main:Missing sub-summary: WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qmltests/tst_qmltests_WebView
WARNING:Main:Missing sub-summary: WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qmltests/tst_qmltests_WebView
********* Start testing of qmltests *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : qmltests::DesktopWebViewLinkHovered::initTestCase()
FAIL!  : qmltests::DesktopWebViewLinkHovered::test_linkHovered() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml(47)]
FAIL!  : qmltests::DesktopWebViewLinkHovered::test_linkHoveredDoesntEmitRepeated() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml(63)]
PASS   : qmltests::DesktopWebViewLinkHovered::cleanupTestCase()
PASS   : qmltests::DesktopWebViewLoadHtml::initTestCase()
FAIL!  : qmltests::DesktopWebViewLoadHtml::test_baseUrlAfterLoadHtml() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml(45)]
PASS   : qmltests::DesktopWebViewLoadHtml::cleanupTestCase()
PASS   : qmltests::DesktopWebViewNavigationRequested::initTestCase()
FAIL!  : qmltests::DesktopWebViewNavigationRequested::test_downloadPolicy() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml(103)]
FAIL!  : qmltests::DesktopWebViewNavigationRequested::test_ignorePolicy() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml(92)]
FAIL!  : qmltests::DesktopWebViewNavigationRequested::test_usePolicy() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml(83)]
PASS   : qmltests::DesktopWebViewNavigationRequested::cleanupTestCase()
Totals: 6 passed, 6 failed, 0 skipped
********* Finished testing of qmltests *********

********* Start testing of qmltests *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : qmltests::WebViewApplicationSchemes::initTestCase()
FAIL!  : qmltests::WebViewApplicationSchemes::test_applicationScheme() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml(75)]
FAIL!  : qmltests::WebViewApplicationSchemes::test_charsets() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml(108)]
FAIL!  : qmltests::WebViewApplicationSchemes::test_multipleSchemes() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml(83)]
FAIL!  : qmltests::WebViewApplicationSchemes::test_multipleUrlsForScheme() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml(95)]
PASS   : qmltests::WebViewApplicationSchemes::cleanupTestCase()
PASS   : qmltests::WebViewColorChooser::initTestCase()
FAIL!  : qmltests::WebViewColorChooser::test_accept() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml(47)]
FAIL!  : qmltests::WebViewColorChooser::test_currentValue() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml(47)]
FAIL!  : qmltests::WebViewColorChooser::test_reject() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml(47)]
PASS   : qmltests::WebViewColorChooser::cleanupTestCase()
PASS   : qmltests::DevicePixelRatio::initTestCase()
FAIL!  : qmltests::DevicePixelRatio::test_devicePixelRatio() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml(33)]
FAIL!  : qmltests::DevicePixelRatio::test_devicePixelRatioMediaQuery() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml(50)]
PASS   : qmltests::DevicePixelRatio::cleanupTestCase()
PASS   : qmltests::DoubleTapToZoom::initTestCase()
FAIL!  : qmltests::DoubleTapToZoom::test_basic() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml(82)]
PASS   : qmltests::DoubleTapToZoom::cleanupTestCase()
PASS   : qmltests::WebViewDownload::initTestCase()
FAIL!  : qmltests::WebViewDownload::test_downloadRequest() 'wait for signal downloadRequested' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml(65)]
FAIL!  : qmltests::WebViewDownload::test_expectedLength() 'wait for signal downloadRequested' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml(72)]
FAIL!  : qmltests::WebViewDownload::test_succeeded() 'wait for signal downloadRequested' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml(80)]
PASS   : qmltests::WebViewDownload::cleanupTestCase()
PASS   : qmltests::JavaScriptEvaluation::initTestCase()
FAIL!  : qmltests::JavaScriptEvaluation::test_basic() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml(45)]
FAIL!  : qmltests::JavaScriptEvaluation::test_booleanValue() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml(87)]
FAIL!  : qmltests::JavaScriptEvaluation::test_floatValue() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml(138)]
FAIL!  : qmltests::JavaScriptEvaluation::test_integerValue() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml(121)]
FAIL!  : qmltests::JavaScriptEvaluation::test_propertyObjectWithChild() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml(62)]
FAIL!  : qmltests::JavaScriptEvaluation::test_queryById() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml(175)]
FAIL!  : qmltests::JavaScriptEvaluation::test_queryTitle() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml(156)]
FAIL!  : qmltests::JavaScriptEvaluation::test_stringValue() 'verify()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml(104)]
PASS   : qmltests::JavaScriptEvaluation::cleanupTestCase()
PASS   : qmltests::WebViewLoadFavIcon::initTestCase()
FAIL!  : qmltests::WebViewLoadFavIcon::test_favIconLoad() 'wait for signal iconChanged' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml(39)]

CRASHED: WebKitBuild/Release/Source/WebKit2/UIProcess/API/qt/tests/qmltests/tst_qmltests_WebView

********* Start testing of tst_qrawwebview *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : tst_qrawwebview::initTestCase()
FAIL!  : tst_qrawwebview::paint() '::waitForSignal(this, SIGNAL(loaded()), 5000)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(90)]
FAIL!  : tst_qrawwebview::paint() 'compareImages(QImage(expectation), image.rgbSwapped(), 5)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(233)]
FAIL!  : tst_qrawwebview::noBackground1() '::waitForSignal(this, SIGNAL(loaded()), 5000)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(90)]
FAIL!  : tst_qrawwebview::noBackground1() '::waitForSignal(this, SIGNAL(loaded()), 5000)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(90)]
FAIL!  : tst_qrawwebview::noBackground2() '::waitForSignal(this, SIGNAL(loaded()), 5000)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(90)]
FAIL!  : tst_qrawwebview::noBackground2() '::waitForSignal(this, SIGNAL(loaded()), 5000)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(90)]
FAIL!  : tst_qrawwebview::noBackground3() '::waitForSignal(this, SIGNAL(loaded()), 5000)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(90)]
FAIL!  : tst_qrawwebview::noBackground3() '::waitForSignal(this, SIGNAL(loaded()), 5000)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(90)]
FAIL!  : tst_qrawwebview::noBackground3() 'compareImages(QImage(expectation), image.rgbSwapped(), 5)' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp(233)]
PASS   : tst_qrawwebview::cleanupTestCase()
Totals: 2 passed, 9 failed, 0 skipped
********* Finished testing of tst_qrawwebview *********

********* Start testing of tst_InspectorServer *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : tst_InspectorServer::initTestCase()
QWARN  : tst_InspectorServer::testPageList() Inspector server started successfully. Try pointing a WebKit browser to http://127.0.0.1:23654
PASS   : tst_InspectorServer::testPageList()
FAIL!  : tst_InspectorServer::testRemoteDebuggingMessage() Compared values are not the same
   Actual   (webSocketQueryWebView->title()):
   Expected (jsExpressionResult): 4
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp(153)]
FAIL!  : tst_InspectorServer::openRemoteDebuggingSession() '!inspectorWebView->title().isEmpty()' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp(178)]
PASS   : tst_InspectorServer::cleanupTestCase()
Totals: 3 passed, 2 failed, 0 skipped
********* Finished testing of tst_InspectorServer *********

********* Start testing of tst_QQuickWebView *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : tst_QQuickWebView::initTestCase()
PASS   : tst_QQuickWebView::accessPage()
PASS   : tst_QQuickWebView::navigationStatusAtStartup()
FAIL!  : tst_QQuickWebView::stopEnabledAfterLoadStarted() Compared values are not the same
   Actual   (webView()->loading()): 0
   Expected (true): 1
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(148)]
PASS   : tst_QQuickWebView::baseUrl()
PASS   : tst_QQuickWebView::loadEmptyUrl()
FAIL!  : tst_QQuickWebView::loadEmptyPageViewVisible() 'waitForLoadSucceeded(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(176)]
FAIL!  : tst_QQuickWebView::loadEmptyPageViewHidden() 'waitForLoadSucceeded(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(176)]
FAIL!  : tst_QQuickWebView::loadNonexistentFileUrl() 'waitForLoadFailed(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(186)]
FAIL!  : tst_QQuickWebView::backAndForward() 'waitForLoadSucceeded(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(194)]
FAIL!  : tst_QQuickWebView::reload() 'waitForLoadSucceeded(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(217)]
FAIL!  : tst_QQuickWebView::stop() 'waitForLoadSucceeded(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(230)]
FAIL!  : tst_QQuickWebView::loadProgress() 'waitForLoadSucceeded(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(244)]
FAIL!  : tst_QQuickWebView::scrollRequest() 'waitForViewportReady(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(447)]
PASS   : tst_QQuickWebView::show()
FAIL!  : tst_QQuickWebView::showWebView() 'waitForLoadSucceeded(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(264)]
FAIL!  : tst_QQuickWebView::removeFromCanvas() 'waitForLoadSucceeded(webView())' returned FALSE. ()
   Loc: [/home/oszi/WebKit/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp(264)]
QFATAL : tst_QQuickWebView::multipleWebViewWindows() Received signal 15
FAIL!  : tst_QQuickWebView::multipleWebViewWindows() Received a fatal error.
   Loc: [Unknown file(0)]
Totals: 6 passed, 12 failed, 0 skipped
********* Finished testing of tst_QQuickWebView *********

********* Start testing of tst_publicapi *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : tst_publicapi::initTestCase()
PASS   : tst_publicapi::publicAPI()
PASS   : tst_publicapi::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of tst_publicapi *********
**********************************************************************
**        TOTALS: 20 passed, 29 failed, 0 skipped, 1 crashed        **
**********************************************************************
Comment 1 Csaba Osztrogonác 2012-10-25 00:22:11 PDT
I tried updating qtbase (22975c56a69b3d80939d0cb8ef633b9bca90d5b3) and
qtdeclarative (a3a611d88dff663cce3fd8033295c5190624e859) to trunk as 
Jocelyn suggested, but in this configuration Qt5 is unbuildable.
Comment 2 Csaba Osztrogonác 2012-10-25 03:41:01 PDT
I managed to build trunk qt5.git with trunk 
- qtbase (22975c56a69b3d80939d0cb8ef633b9bca90d5b3)
- qtdeclarative (a3a611d88dff663cce3fd8033295c5190624e859)
- qtlocation (a3a611d88dff663cce3fd8033295c5190624e859) submodules 

The fails disappered, but zillion warnings introduced:

********* Start testing of tst_QQuickWebView *********
Config: Using QTest library 5.0.0, Qt 5.0.0
PASS   : tst_QQuickWebView::initTestCase()
PASS   : tst_QQuickWebView::accessPage()
PASS   : tst_QQuickWebView::navigationStatusAtStartup()
PASS   : tst_QQuickWebView::stopEnabledAfterLoadStarted()
PASS   : tst_QQuickWebView::baseUrl()
PASS   : tst_QQuickWebView::loadEmptyUrl()
QWARN  : tst_QQuickWebView::loadEmptyPageViewVisible() Unable to find a renderable master window QQuickView(0x7fcd6c04c850) when trying to render QQuickView(0x7fcd6c04c850)  ( QRect(0,0 0x0) ).
PASS   : tst_QQuickWebView::loadEmptyPageViewVisible()
PASS   : tst_QQuickWebView::loadEmptyPageViewHidden()
PASS   : tst_QQuickWebView::loadNonexistentFileUrl()
PASS   : tst_QQuickWebView::backAndForward()
PASS   : tst_QQuickWebView::reload()
PASS   : tst_QQuickWebView::stop()
PASS   : tst_QQuickWebView::loadProgress()
PASS   : tst_QQuickWebView::scrollRequest()
QWARN  : tst_QQuickWebView::show() Unable to find a renderable master window QQuickView(0x7fcd6c079290) when trying to render QQuickView(0x7fcd6c079290)  ( QRect(0,0 0x0) ).
PASS   : tst_QQuickWebView::show()
QWARN  : tst_QQuickWebView::showWebView() Unable to find a renderable master window QQuickView(0xf31330) when trying to render QQuickView(0xf31330)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::showWebView() Unable to find a renderable master window QQuickView(0xf31330) when trying to render QQuickView(0xf31330)  ( QRect(0,0 0x0) ).
PASS   : tst_QQuickWebView::showWebView()
QWARN  : tst_QQuickWebView::removeFromCanvas() Unable to find a renderable master window QQuickView(0xf4b160) when trying to render QQuickView(0xf4b160)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::removeFromCanvas() Unable to find a renderable master window QQuickView(0xf4b160) when trying to render QQuickView(0xf4b160)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::removeFromCanvas() Unable to find a renderable master window QQuickView(0xf4b160) when trying to render QQuickView(0xf4b160)  ( QRect(0,0 0x0) ).
PASS   : tst_QQuickWebView::removeFromCanvas()
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0x7fcd6c16e0f0) when trying to render QQuickView(0x7fcd6c16e0f0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0x7fcd6c16e0f0) when trying to render QQuickView(0x7fcd6c16e0f0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0x7fcd6c16e0f0) when trying to render QQuickView(0x7fcd6c16e0f0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0xf50a80) when trying to render QQuickView(0xf50a80)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0x7fcd6c16e0f0) when trying to render QQuickView(0x7fcd6c16e0f0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0xf50a80) when trying to render QQuickView(0xf50a80)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0x7fcd6c16e0f0) when trying to render QQuickView(0x7fcd6c16e0f0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0xf50a80) when trying to render QQuickView(0xf50a80)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0x7fcd6c16e0f0) when trying to render QQuickView(0x7fcd6c16e0f0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViewWindows() Unable to find a renderable master window QQuickView(0x7fcd6c173ea0) when trying to render QQuickView(0x7fcd6c173ea0)  ( QRect(0,0 0x0) ).
PASS   : tst_QQuickWebView::multipleWebViewWindows()
QWARN  : tst_QQuickWebView::multipleWebViews() Unable to find a renderable master window QQuickView(0x7fcd6c16d1e0) when trying to render QQuickView(0x7fcd6c16d1e0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViews() Unable to find a renderable master window QQuickView(0x7fcd6c16d1e0) when trying to render QQuickView(0x7fcd6c16d1e0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViews() Unable to find a renderable master window QQuickView(0x7fcd6c16d1e0) when trying to render QQuickView(0x7fcd6c16d1e0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViews() Unable to find a renderable master window QQuickView(0x7fcd6c16d1e0) when trying to render QQuickView(0x7fcd6c16d1e0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViews() Unable to find a renderable master window QQuickView(0x7fcd6c16d1e0) when trying to render QQuickView(0x7fcd6c16d1e0)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::multipleWebViews() Unable to find a renderable master window QQuickView(0x7fcd6c16d1e0) when trying to render QQuickView(0x7fcd6c16d1e0)  ( QRect(0,0 0x0) ).
PASS   : tst_QQuickWebView::multipleWebViews()
PASS   : tst_QQuickWebView::titleUpdate()
QWARN  : tst_QQuickWebView::transparentWebViews() Unable to find a renderable master window QQuickView(0x7fcd7400e310) when trying to render QQuickView(0x7fcd7400e310)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::transparentWebViews() Unable to find a renderable master window QQuickView(0x7fcd7400e310) when trying to render QQuickView(0x7fcd7400e310)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::transparentWebViews() Unable to find a renderable master window QQuickView(0x7fcd7400e310) when trying to render QQuickView(0x7fcd7400e310)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::transparentWebViews() Unable to find a renderable master window QQuickView(0x7fcd7400e310) when trying to render QQuickView(0x7fcd7400e310)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::transparentWebViews() Unable to find a renderable master window QQuickView(0x7fcd7400e310) when trying to render QQuickView(0x7fcd7400e310)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::transparentWebViews() Unable to find a renderable master window QQuickView(0x7fcd7400e310) when trying to render QQuickView(0x7fcd7400e310)  ( QRect(0,0 0x0) ).
PASS   : tst_QQuickWebView::transparentWebViews()
PASS   : tst_QQuickWebView::inputMethod()
PASS   : tst_QQuickWebView::inputMethodHints()
QWARN  : tst_QQuickWebView::basicRenderingSanity() Unable to find a renderable master window QQuickView(0x7fcd7400a750) when trying to render QQuickView(0x7fcd7400a750)  ( QRect(0,0 0x0) ).
QWARN  : tst_QQuickWebView::basicRenderingSanity() Unable to find a renderable master window QQuickView(0x7fcd7400a750) when trying to render QQuickView(0x7fcd7400a750)  ( QRect(0,0 0x0) ).
PASS   : tst_QQuickWebView::basicRenderingSanity()
PASS   : tst_QQuickWebView::cleanupTestCase()
Totals: 25 passed, 0 failed, 0 skipped
********* Finished testing of tst_QQuickWebView *********
Comment 3 Csaba Osztrogonác 2012-10-25 11:26:32 PDT
qt5.git is updated, the bug is still valid on the latest 
Qt5 hash - c0772fa7a5f5904ced225960897a512053d23a1b
Comment 4 Csaba Osztrogonác 2012-10-25 11:39:42 PDT
This warning introduced in qtdeclarative with this update, it was assertion previously - https://qt.gitorious.org/qt/qtdeclarative/commit/e0521a579e967d670a5f6d7d4a4cd90a6aa56e17?format=html
Comment 5 Jocelyn Turcotte 2012-10-26 02:15:12 PDT
Balazs might have an idea, else I can have a look in a couple of days.
Comment 6 Balazs Kelemen 2012-10-26 03:48:59 PDT
I am going to look into this.
Comment 7 Balazs Kelemen 2012-10-28 16:37:05 PDT
With ToT qt5.git (71c071399ad74325e2997980f6416a962b92e932) I also got a crash in removeFromCanvas() under LayerTreeRenderer::renderToCurrentGLContext. It does not seems to be in connection with the warnings.

#0  0x00007ffff7ec6f00 in ?? ()
#1  0x00007ffff40e66ee in WebCore::GraphicsLayerTextureMapper::setChildren(WTF::Vector<WebCore::GraphicsLayer*, 0ul> const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#2  0x00007ffff79f537a in WebKit::LayerTreeRenderer::setLayerChildren(unsigned int, WTF::Vector<unsigned int, 0ul> const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/libWebKit2.so.1
#3  0x00007ffff40eab51 in WebCore::TextureMapperLayer::paintSelf(WebCore::TextureMapperPaintOptions const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#4  0x00007ffff40eb8a9 in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#5  0x00007ffff40ebae9 in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#6  0x00007ffff40ebce4 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions const&) [clone .part.80] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#7  0x00007ffff40eb72f in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions const&) [clone .part.81] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#8  0x00007ffff40ebae9 in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#9  0x00007ffff40ebce4 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions const&) [clone .part.80] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#10 0x00007ffff40eb72f in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions const&) [clone .part.81] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#11 0x00007ffff40ebae9 in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#12 0x00007ffff40ebce4 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions const&) [clone .part.80] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#13 0x00007ffff40eb72f in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions const&) [clone .part.81] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#14 0x00007ffff40ebae9 in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#15 0x00007ffff40ebce4 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions const&) [clone .part.80] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#16 0x00007ffff40eb72f in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions const&) [clone .part.81] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#17 0x00007ffff40ebae9 in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#18 0x00007ffff40ebce4 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions const&) [clone .part.80] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#19 0x00007ffff40eb72f in WebCore::TextureMapperLayer::paintSelfAndChildren(WebCore::TextureMapperPaintOptions const&) [clone .part.81] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#20 0x00007ffff40ebae9 in WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica(WebCore::TextureMapperPaintOptions const&) ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#21 0x00007ffff40ebce4 in WebCore::TextureMapperLayer::paintRecursive(WebCore::TextureMapperPaintOptions const&) [clone .part.80] ()
   from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
#22 0x00007ffff40ec482 in WebCore::TextureMapperLayer::paint() () from /home/balazs/WebKitGit/WebKitBuild/Release/lib/../lib/libWebCore.so.1
---Type <return> to continue, or q <return> to quit---
#23 0x00007ffff79f2c43 in WebKit::LayerTreeRenderer::paintToCurrentGLContext(WebCore::TransformationMatrix const&, float, WebCore::FloatRect const&, unsigned int)
    () from /home/balazs/WebKitGit/WebKitBuild/Release/lib/libWebKit2.so.1
#24 0x00007ffff7b13573 in WebKit::ContentsSGNode::render(QSGRenderNode::RenderState const&) () from /home/balazs/WebKitGit/WebKitBuild/Release/lib/libWebKit2.so.1
#25 0x00007ffff73b4c78 in QSGDefaultRenderer::renderNodes(QSGNode* const*, int) () from /home/balazs/repo/qt5/qtbase/lib/libQtQuick.so.5
#26 0x00007ffff73b5783 in QSGDefaultRenderer::render() () from /home/balazs/repo/qt5/qtbase/lib/libQtQuick.so.5
#27 0x00007ffff73bb659 in QSGRenderer::renderScene(QSGBindable const&) () from /home/balazs/repo/qt5/qtbase/lib/libQtQuick.so.5
#28 0x00007ffff73bb787 in QSGRenderer::renderScene() () from /home/balazs/repo/qt5/qtbase/lib/libQtQuick.so.5
#29 0x00007ffff73c5854 in QSGContext::renderNextFrame(QSGRenderer*, unsigned int) () from /home/balazs/repo/qt5/qtbase/lib/libQtQuick.so.5
#30 0x00007ffff73f52ec in QQuickWindowPrivate::renderSceneGraph(QSize const&) () from /home/balazs/repo/qt5/qtbase/lib/libQtQuick.so.5
#31 0x00007ffff74d9d87 in QQuickTrivialWindowManager::renderWindow(QQuickWindow*) () from /home/balazs/repo/qt5/qtbase/lib/libQtQuick.so.5
Comment 8 Balazs Kelemen 2012-10-28 16:47:11 PDT
Created attachment 171144 [details]
Patch
Comment 9 Balazs Kelemen 2012-10-28 16:52:42 PDT
(In reply to comment #8)
> Created an attachment (id=171144) [details]
> Patch

The warnings are disappearing with this patch, but it does not fix the crash. Also I had to do a workaround by manually resizing the window to the item's size because otherwise it does not happen before the first rendering (so the warning is triggered). I think this is a bug in Qt, it should consider the ResizeViewToRootItem flag. Feel free to correct me if you have a better understanding.
Comment 10 Jocelyn Turcotte 2012-10-29 04:58:45 PDT
(In reply to comment #9)
> The warnings are disappearing with this patch, but it does not fix the crash. Also I had to do a workaround by manually resizing the window to the item's size because otherwise it does not happen before the first rendering (so the warning is triggered). I think this is a bug in Qt, it should consider the ResizeViewToRootItem flag. Feel free to correct me if you have a better understanding.

You're the one with the best understanding right now, but I think that it would be better to make sure that it can't be fixed in Qt before adding duck tape.
Comment 11 Balazs Kelemen 2012-10-29 05:33:35 PDT
Err, I retested it on my office machine and here the show() test always crash in xvfb, with or without the patch (it works fine outside from xvfb). Also I get a lot of other warnings in xvfb:

QWARN  : tst_QQuickWebView::loadEmptyPageViewVisible() QOpenGLShader::compile(Vertex): failed
QWARN  : tst_QQuickWebView::loadEmptyPageViewVisible() QOpenGLShader::compile(Fragment): failed
QWARN  : tst_QQuickWebView::loadEmptyPageViewVisible() QSGMaterialShader: Shader compilation failed:
QWARN  : tst_QQuickWebView::loadEmptyPageViewVisible() "" 
QWARN  : tst_QQuickWebView::loadEmptyPageViewVisible() QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked 
QWARN  : tst_QQuickWebView::loadEmptyPageViewVisible() QOpenGLShaderProgram::uniformLocation( color ): shader program is not linked

and the same for scrollRequest() and show().

I'm not sure about whether xvfb is an environment we can actually support. Does anybody now whether it has GPU access? Does it fully supports OpenGL (either in software or hardware)?

Actually there are a lot of random crashes appearing in the history of API tests, so it's a bigger deal to fix them (I guess some of these should have the same root).
Comment 12 Balazs Kelemen 2012-10-29 05:34:17 PDT
(In reply to comment #11)
> Err, I retested it on my office machine and here the show() test always crash in xvfb, with or without the patch (it works fine outside from xvfb). Also I get a lot of other warnings in xvfb:

Forgot to note that the crash happens at the same place, see the backtrace above.
Comment 13 Jocelyn Turcotte 2012-10-29 05:40:10 PDT
(In reply to comment #12)
> (In reply to comment #11)
> > Err, I retested it on my office machine and here the show() test always crash in xvfb, with or without the patch (it works fine outside from xvfb). Also I get a lot of other warnings in xvfb:
> 
> Forgot to note that the crash happens at the same place, see the backtrace above.

My knowledge is that xvfb uses the mesa software OpenGL implementation and it's pretty complete (but slow). If it crashes it might be bugs of the new xcb backend of Qt in combination with specific behaviors of xvfb (just a guess though).
Warnings shouldn't be a problem as long as they're hidden and they're not about stuff that might fail the tests.
Comment 14 Balazs Kelemen 2012-10-30 05:06:29 PDT
Current state, including Jocelyn's recent fixes:
1. pinned Qt hash
  native -> all green
  xvfb -> crash in showWebvView
2. update candidate (c0772fa7a5f5904ced225960897a512053d23a1b)
  native -> all green
  xvfb -> master window warnings + crash in basicRenderingSanity :(
Comment 15 Balazs Kelemen 2012-10-30 05:23:43 PDT
(In reply to comment #14)
> Current state, including Jocelyn's recent fixes:
> 1. pinned Qt hash
>   native -> all green
>   xvfb -> crash in showWebvView
> 2. update candidate (c0772fa7a5f5904ced225960897a512053d23a1b)
>   native -> all green
>   xvfb -> master window warnings + crash in basicRenderingSanity :(

With my patch in xvfb both crash in show. Btw I don't think my patch is really necessary, since tests that actually want to render are already set size and window geometry explicitly. So the bug now is that we crash in xvfb as soon as start rendering.
Comment 16 Balazs Kelemen 2012-10-30 07:26:42 PDT
This bug contains way too many mixed information already. I filed bug 100758 for tracking the problems with xvfb.
Comment 17 Balazs Kelemen 2012-10-30 10:25:26 PDT
Created attachment 171480 [details]
Patch
Comment 18 Jocelyn Turcotte 2012-10-31 05:31:56 PDT
Comment on attachment 171480 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=171480&action=review

> Source/WebKit2/UIProcess/API/qt/tests/testwindow.h:52
> +    resize(300, 400);

Does it work if you put this in the TestWindow constructor instead?
I'd prefer not hiding QWindow::show if possible.
Comment 19 Balazs Kelemen 2012-10-31 09:30:52 PDT
(In reply to comment #18)
> (From update of attachment 171480 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=171480&action=review
> 
> > Source/WebKit2/UIProcess/API/qt/tests/testwindow.h:52
> > +    resize(300, 400);
> 
> Does it work if you put this in the TestWindow constructor instead?
> I'd prefer not hiding QWindow::show if possible.

Ok. Also I realized that changing showWindow to m_window->show is not identical because showWindow also load content.
Comment 20 Balazs Kelemen 2012-10-31 09:32:20 PDT
Created attachment 171673 [details]
Patch
Comment 21 Jocelyn Turcotte 2012-10-31 09:39:50 PDT
Comment on attachment 171673 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=171673&action=review

> Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:331
>      showWebView();

Yeah showWebView is a test on its own and I think it's wrong that tests are using it to show the web view, but this cached a couple of bugs so no reason to remove it :)

> Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:-344
> -    // We have to explicitly move the window into the screen, otherwise it's not rendered.
> -    m_window->setGeometry(0, 0, 300, 400);
> -    m_window->show();

Humm, not sure why this was needed.
Comment 22 Jocelyn Turcotte 2012-10-31 09:40:55 PDT
(In reply to comment #21)
> Yeah showWebView is a test on its own and I think it's wrong that tests are using it to show the web view, but this cached a couple of bugs so no reason to remove it :)

s/cached/caught/
Comment 23 Balazs Kelemen 2012-10-31 09:46:01 PDT
Comment on attachment 171673 [details]
Patch

Clearing flags on attachment: 171673

Committed r133039: <http://trac.webkit.org/changeset/133039>
Comment 24 Balazs Kelemen 2012-10-31 09:46:07 PDT
All reviewed patches have been landed.  Closing bug.