[Webkit-unassigned] [Bug 28702] New: Workers do not exit after async operations
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Aug 24 22:38:07 PDT 2009
https://bugs.webkit.org/show_bug.cgi?id=28702
Summary: Workers do not exit after async operations
Product: WebKit
Version: 528+ (Nightly build)
Platform: PC
OS/Version: Mac OS X 10.5
Status: NEW
Severity: Normal
Priority: P2
Component: WebCore JavaScript
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: atwilson at chromium.org
CC: dimich at chromium.org, levin at chromium.org
The dedicated worker code has a mechanism in place where DedicatedWorkerContext
reports pending activity back to the parent Worker object every time it
receives a message. The idea is that if the parent worker object is no longer
reachable, and the worker thread goes idle, WebKit will shut down the worker
thread because it has been orphaned.
The problem is that this mechanism
(WorkerMessagingProxy::reportPendingActivity()) only triggers when a message is
received - if the worker performs some async operation, there's nothing to
notify the parent worker object when the async operation completes and the
worker goes idle again unless another message is sent to the worker.
The net result is (effectively) a memory leak - the worker context hangs around
in an unreachable state until the parent page closes, because it appears that
the page always has pending activity.
BTW - the HTML5 spec does not make any guarantees about when an unreachable
Worker is shut down - once a Worker is unreachable, it's up to the UA to decide
whether to shut it down or not.
--
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