Bug 31591 - [Qt] Crashing tests after updating to Qt-4.6.0
Summary: [Qt] Crashing tests after updating to Qt-4.6.0
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P3 Normal
Assignee: Nobody
URL:
Keywords: Qt
Depends on:
Blocks:
 
Reported: 2009-11-17 10:08 PST by Csaba Osztrogonác
Modified: 2009-12-03 06:16 PST (History)
4 users (show)

See Also:


Attachments
proposed patch (4.91 KB, patch)
2009-11-17 10:16 PST, Csaba Osztrogonác
no flags Details | Formatted Diff | Diff
proposed fix (11.84 KB, patch)
2009-12-02 07:00 PST, Andras Becsi
abecsi: commit-queue-
Details | Formatted Diff | Diff
patch v2 (11.82 KB, patch)
2009-12-02 07:39 PST, Andras Becsi
kenneth: review-
ossy: commit-queue-
Details | Formatted Diff | Diff
patch v3 (11.80 KB, patch)
2009-12-03 05:17 PST, Andras Becsi
kenneth: review-
abecsi: commit-queue-
Details | Formatted Diff | Diff
another style update (11.80 KB, patch)
2009-12-03 05:47 PST, Andras Becsi
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 2009-11-17 10:08:47 PST
After we updated to Qt-4.6.0-stable/Qt-4.6.0-RC1 there are
24 crashing tests on QtBuildBot. These crashes caused by
previously tests.

I think "crasher" test leave DumpRenderTree in "bad state",
which cause the crash in one of the following test.

Until we find and fix DRT, we should put "crasher" tests
into skiplist to make our QtBuildBot happier.

There are 3 tests which are "crasher" and "crashed" tests
at the same time. If we put the original "crasher" to skiplist,
the original "crashed" test turn "crasher". Putting both of
them solve the problem.
Comment 1 Csaba Osztrogonác 2009-11-17 10:16:25 PST
Created attachment 43368 [details]
proposed patch

I propose, we should put problematic tests into skiplist temporarily. (until fix)
Comment 2 Csaba Osztrogonác 2009-11-17 10:19:12 PST
We can simple reproduce the crash:
WebKitTools/Scripts/run-webkit-tests CRASHER CRASHED
Comment 3 Csaba Osztrogonác 2009-11-17 10:42:57 PST
(In reply to comment #1)
> Created an attachment (id=43368) [details]
> proposed patch
Sending        LayoutTests/ChangeLog
Sending        LayoutTests/platform/qt/Skipped
Transmitting file data ..
Committed revision 51078.
Comment 4 Simon Hausmann 2009-11-20 07:56:33 PST
Closing as it seems the patch has been landed :)
Comment 5 Csaba Osztrogonác 2009-12-02 06:42:17 PST
Only a small patch landed to make QtBuildbot happy.
Bugfix is coming soon ...
Comment 6 Andras Becsi 2009-12-02 07:00:05 PST
Created attachment 44144 [details]
proposed fix

Refactor DRT to not crash on these tests, and re-enable them in the Skipped list.
Comment 7 Andras Becsi 2009-12-02 07:01:58 PST
(In reply to comment #6)
> Created an attachment (id=44144) [details]
> proposed fix
> 
> Refactor DRT to not crash on these tests, and re-enable them in the Skipped
> list.

This reveales some other tests, which have a notifyDone() problem described in:
https://bugs.webkit.org/show_bug.cgi?id=31626
Comment 8 WebKit Review Bot 2009-12-02 07:02:56 PST
style-queue ran check-webkit-style on attachment 44144 [details] without any errors.
Comment 9 Andras Becsi 2009-12-02 07:39:35 PST
Created attachment 44147 [details]
patch v2

Change deleteLater() to delete in DumpRenderTree::closeRemainingWindows(), cause deleteLater() seems to cause some flakyness in DRT and sometimes some http tests fail.
Comment 10 WebKit Review Bot 2009-12-02 07:44:24 PST
style-queue ran check-webkit-style on attachment 44147 [details] without any errors.
Comment 11 Csaba Osztrogonác 2009-12-02 07:48:22 PST
Comment on attachment 44147 [details]
patch v2

cq- -ed, because we would like to land manually.
Comment 12 Kenneth Rohde Christiansen 2009-12-03 04:37:52 PST
Comment on attachment 44147 [details]
patch v2

r- for comments given on irc

Mostly style issues like:

QWebPage* page =static_cast<QWebPage *>(new WebPage(container, this));

which should be

QWebPage* page = static_cast<QWebPage*>(new WebPage(container, this));

etc
Comment 13 Andras Becsi 2009-12-03 05:17:07 PST
Created attachment 44230 [details]
patch v3

Style corrections made.
Comment 14 WebKit Review Bot 2009-12-03 05:21:01 PST
style-queue ran check-webkit-style on attachment 44230 [details] without any errors.
Comment 15 Kenneth Rohde Christiansen 2009-12-03 05:29:23 PST
Comment on attachment 44230 [details]
patch v3


> +    /*
> +    * Create a dummy container object to track the page in DRT.
> +    * QObject is used instead of QWidget to prevent DRT from
> +    * showing the main view when deleting the container.
> +    */

Please use // comment style inside code. That is our style

> +    QObject* container = new QObject(m_mainView);
> +    //create a QWebPage we want to return

Missing space between // and create

> +    QWebPage* page =static_cast<QWebPage*>(new WebPage(container, this));

Missing space after =

> +    //gets cleaned up in closeRemainingWindows()
>      windows.append(container);

same thing

> +
> +    //connect the needed signals to the page

same thing

> +    connect(page, SIGNAL(frameCreated(QWebFrame*)),
> +            this, SLOT(connectFrame(QWebFrame*)));

Make this a one liner


> +    connect(page, SIGNAL(loadFinished(bool)),
> +            m_controller, SLOT(maybeDump(bool)));

same as above

> +// Also count the main view

change to // Include the main view in the count

> +    return windows.count() + 1;
>  }
Comment 16 Andras Becsi 2009-12-03 05:47:17 PST
Created attachment 44233 [details]
another style update

Builder bots are red so cq-
Comment 17 WebKit Review Bot 2009-12-03 05:52:09 PST
Attachment 44233 [details] did not pass style-queue:

Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1
WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp:721:  Extra space before ( in function call  [whitespace/parens] [4]
WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp:723:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2
Comment 18 Andras Becsi 2009-12-03 05:59:31 PST
(In reply to comment #17)
> Attachment 44233 [details] did not pass style-queue:
> 
> Failed to run "WebKitTools/Scripts/check-webkit-style" exit_code: 1
> WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp:721:  Extra space before ( in
> function call  [whitespace/parens] [4]
> WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp:723:  Extra space before ( in
> function call  [whitespace/parens] [4]
> Total errors found: 2

We'll fix that before landing.
Comment 19 Csaba Osztrogonác 2009-12-03 06:12:32 PST
>Extra space before ( in function call  [whitespace/parens] [4]
removed before landing as discussed with Kenneth on #qtwebkit.

Sending        LayoutTests/ChangeLog
Sending        LayoutTests/platform/qt/Skipped
Sending        WebKitTools/ChangeLog
Sending        WebKitTools/DumpRenderTree/qt/DumpRenderTree.cpp
Sending        WebKitTools/DumpRenderTree/qt/DumpRenderTree.h
Transmitting file data .....
Committed revision 51634.