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 ** **********************************************************************
I tried updating qtbase (22975c56a69b3d80939d0cb8ef633b9bca90d5b3) and qtdeclarative (a3a611d88dff663cce3fd8033295c5190624e859) to trunk as Jocelyn suggested, but in this configuration Qt5 is unbuildable.
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 *********
qt5.git is updated, the bug is still valid on the latest Qt5 hash - c0772fa7a5f5904ced225960897a512053d23a1b
This warning introduced in qtdeclarative with this update, it was assertion previously - https://qt.gitorious.org/qt/qtdeclarative/commit/e0521a579e967d670a5f6d7d4a4cd90a6aa56e17?format=html
Balazs might have an idea, else I can have a look in a couple of days.
I am going to look into this.
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
Created attachment 171144 [details] Patch
(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.
(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.
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).
(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.
(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.
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 :(
(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.
This bug contains way too many mixed information already. I filed bug 100758 for tracking the problems with xvfb.
Created attachment 171480 [details] Patch
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.
(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.
Created attachment 171673 [details] Patch
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.
(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 on attachment 171673 [details] Patch Clearing flags on attachment: 171673 Committed r133039: <http://trac.webkit.org/changeset/133039>
All reviewed patches have been landed. Closing bug.