[Webkit-unassigned] [Bug 131078] New: some Web worker threads never terminate

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 1 16:26:57 PDT 2014


https://bugs.webkit.org/show_bug.cgi?id=131078

           Summary: some Web worker threads never terminate
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: Unspecified
            Status: NEW
          Severity: Major
          Priority: P2
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: abaldeva at ea.com


Hi,

If a web worker is executing a javascript in a while(true){..} loop, the OS Worker thread created for it never terminates. An example can be seen here - http://www.whatwg.org/demos/workers/primes/page.html 

The watchdog mechanism starts out as disabled. This means that timeout JIT::emit_op_loop_hint in JITOpcodes.cpp never emits the timeout check mechanism. Thus, when the web worker is expected to terminate (either by explicitly calling worker.terminate() or moving away from the page), execution never comes out of script->evaluate in WorkerThread::workerThread(). This results in the OS thread hanging around. 

The C Loop interpreter backend has the same issue except that it ends up waiting on m_timerDidFire in watchdog which never turns true. 

--Arpit

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list