Bug 101159
Summary: | [Qt] 3 fast/workers test fails with timeout with LLInt if JIT is disabled | ||
---|---|---|---|
Product: | WebKit | Reporter: | Csaba Osztrogonác <ossy> |
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Critical | CC: | allan.jensen, fpizlo, gaborb, hausmann, loki, mark.lam, ossy, zherczeg |
Priority: | P1 | Keywords: | Qt, QtTriaged |
Version: | 420+ | ||
Hardware: | All | ||
OS: | All | ||
Bug Depends on: | |||
Bug Blocks: | 79668, 97584 |
Csaba Osztrogonác
fast/workers/storage/interrupt-database.html
fast/workers/worker-close-more.html
--- /home/oszi/WebKit/WebKitBuild/Release/layout-test-results/fast/workers/worker-close-more-expected.txt
+++ /home/oszi/WebKit/WebKitBuild/Release/layout-test-results/fast/workers/worker-close-more-actual.txt
@@ -1,12 +1,7 @@
+FAIL: Timed out waiting for notifyDone to be called
Test WorkerGlobalScope.close() method. Will print PASS multiple times, followed by DONE.
Test 1: Call close() in the worker, then enter infinite loop. From the Worker object side, call terminate(). Verify the loop is terminated.
PASS: workerThreadCount = 0
PASS: Worker thread created and closed, received message: closed
-PASS: Worker exited after terminate() terminated the infinite loop.
-Test 2: post 2 messages to a MessagePort into the worker. port.onmessage handler inside the worker will call close(). Verify that the second onmessage was not executed.
-PASS: workerThreadCount = 0
-PASS: MessagePort multiple message test, received message: echo_ping1
-PASS: MessagePort messages were not delivered asfter close().
-DONE
--- /home/oszi/WebKit/WebKitBuild/Release/layout-test-results/fast/workers/storage/interrupt-database-expected.txt
+++ /home/oszi/WebKit/WebKitBuild/Release/layout-test-results/fast/workers/storage/interrupt-database-actual.txt
@@ -1,3 +1,3 @@
+FAIL: Timed out waiting for notifyDone to be called
This test makes sure that all async database operations are immediately interrupted when the worker needs to terminate.
-PASS: database operations interrupted.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Csaba Osztrogonác
Maybe they fail on other ports too, but I can't test on any port different from Qt.
Csaba Osztrogonác
and fast/workers/worker-lifecycle.html fails if you run only
fast/workers tests instead of all tests.
+info:
-------
- fast/workers/storage/interrupt-database.html passes if you run only
this test, but it is extremely slow, the runtime is 12-18 seconds
- fast/workers/worker-close-more.html fails always (if you run only
this test or only fast/workers tests or all tests)
- fast/workers/worker-lifecycle.html passes if you run only this test
or all tests, but fails if you run fast/workers tests
The bug is same on 32 and on 64 bit LLINT C loop.
Csaba Osztrogonác
ping?
Mark Lam
I can reproduce the fast/workers/worker-close-more.html and fast/workers/worker-lifecycle.html notifyDone() timeouts on an ASM llint build with JIT & DFG disabled. This is not a C++ llint specific issue.
Csaba Osztrogonác
Status report:
- fast/workers/storage/interrupt-database.html: still extremely slow
- fast/workers/worker-close-more.html: still fails always
- fast/workers/worker-lifecycle.html: it passes now
Is there any plan to fix LLInt? Or can we live with this buggy LLInt?
Mark Lam
(In reply to comment #5)
> Status report:
> - fast/workers/storage/interrupt-database.html: still extremely slow
> - fast/workers/worker-close-more.html: still fails always
> - fast/workers/worker-lifecycle.html: it passes now
>
> Is there any plan to fix LLInt? Or can we live with this buggy LLInt?
I see these same failures when running the tests with a debug build using the JIT as well. This tells me that this isn't a matter of correctness, but perhaps of performance. Alternatively, it may be because the tests have timeouts that are too short.
This issue is currently low on my priority list. You're welcome to debug it and provide suggestions for improvement or a patch though.
Jocelyn Turcotte
=== 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.