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 BugsAssignee: 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    

Description Csaba Osztrogonác 2012-11-04 00:41:27 PDT
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.
Comment 1 Csaba Osztrogonác 2012-11-04 00:41:56 PDT
Maybe they fail on other ports too, but I can't test on any port different from Qt.
Comment 2 Csaba Osztrogonác 2012-11-04 02:13:21 PST
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.
Comment 3 Csaba Osztrogonác 2012-11-21 02:30:30 PST
ping?
Comment 4 Mark Lam 2012-11-21 23:34:39 PST
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.
Comment 5 Csaba Osztrogonác 2013-02-14 07:08:30 PST
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?
Comment 6 Mark Lam 2013-02-14 09:42:35 PST
(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.
Comment 7 Jocelyn Turcotte 2014-02-03 03:23:07 PST
=== 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.