Bug 61932
| Summary: | jquery/manipulation.html is very slow in debug builds, frequently timing out | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Mario Sanchez Prada <mario> |
| Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | abarth, benjamin, cdumez, dpranke, eric, ossy, tony |
| Priority: | P2 | Keywords: | Gtk, Qt, QtTriaged |
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Linux | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=139634 | ||
| Bug Depends on: | 90970, 90968, 90969, 90971 | ||
| Bug Blocks: | |||
Mario Sanchez Prada
This test has been observed randomly failing during the last two days at least in the GTK 32-bit only.
This is the output diff when it fails:
--- /home/slave/webkitgtk/gtk-linux-32-debug/build/layout-test-results/jquery/manipulation-expected.txt 2011-06-02 08:24:17.491741296 -0700
+++ /home/slave/webkitgtk/gtk-linux-32-debug/build/layout-test-results/jquery/manipulation-actual.txt 2011-06-02 08:24:17.491741296 -0700
@@ -1,2 +1,2 @@
-ALERT: 473 tests of 473 passed, 0 failed.
+FAIL: Timed out waiting for notifyDone to be called
Stating the obvious, it looks like the messages listener in jquery/resources/helper.js does not get executed some times, because of some reason.
CCing Adam Barth, as the author of the commit introducing this jquery test suite.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Csaba Osztrogonác
It fails always on Qt 32 bit debug mode always.
Csaba Osztrogonác
It is only a very very slow test, passes with --no-timeout option passed to DRT:
$ time WebKitBuild/Debug/bin/DumpRenderTree LayoutTests/jquery/manipulation.html --no-timeout
ALERT: 473 tests of 473 passed, 0 failed.
Source:
<html><head><script src="resources/helper.js"></script><style>iframe { width: 100%; height: 100%; }</style>
</head><body><iframe src="resources/test/index.html?manipulation"></iframe>
</body></html>
Content-Type: text/plain
#EOF
#EOF
#EOF
LEAK: 76584 WebCoreNode
LEAK: 26 CachedResource
real 0m35.541s
user 0m35.346s
sys 0m0.048s
But if I marked it as slow in test_expectations.txt, it still fails, because it seems SLOW directive is only for NRWT and not for DRT. :(
Csaba Osztrogonác
cc NRWT guys, and Adam as the author of the test.
Eric Seidel (no email)
test_expectations has a "SLOW" designation, but we may need to break up the test.
Csaba Osztrogonác
(In reply to comment #4)
> test_expectations has a "SLOW" designation, but we may need to break up the test.
That's what I mentioned. SLOW only works in NRWT side, but it seems that
NRWT doesn't pass timeout to the DRT and DRT exits early with notifydone
timeout after 30 secs independetly of SLOW directive in test_expectations.txt
Dirk Pranke
(In reply to comment #5)
> (In reply to comment #4)
> > test_expectations has a "SLOW" designation, but we may need to break up the test.
>
> That's what I mentioned. SLOW only works in NRWT side, but it seems that
> NRWT doesn't pass timeout to the DRT and DRT exits early with notifydone
> timeout after 30 secs independetly of SLOW directive in test_expectations.txt
That's a problem, obviously. Either DRT needs to have no timeout or we need to pass a timeout to it that it honors.
Csaba Osztrogonác
I have a workaround for this bug if the given DRT supports --timeout option.
Now only Qt port do it ... but it is buggy a little bit, but will be fixed
soon: https://bugs.webkit.org/show_bug.cgi?id=90966
You have to pass the following arguments to NRWT:
--additional-drt-flag=--timeout --additional-drt-flag=50000 --time-out-ms=50000
But unfortunately you have to modify the master.cfg to do it on the buildbot. :-/
Alexey Proskuryakov
Mac is affected too.
I'm going to mark the test as slow, and then we can see if something else needs to be done for other timeout guards.