[webkit-dev] Issues with WebWorkers that may block Safari support

Geoffrey Garen ggaren at apple.com
Fri Dec 4 13:48:51 PST 2009


> The original report doesn't seem to be a true worker failure, but rather an artifact of the way GC works in JSC. Since JSC uses conservative GC, it's quite possible for the VM to think that there's a dangling reference to a Worker even though there isn't actually one, and that seems to be what's happening here (workers would get shutdown when the parent document closes regardless, so there's no actual leak). Unless someone has some idea of how to make this GC more deterministic, my recommendation would be to just disable this test and close this bug, since seemingly it's the test itself that is not reliable, not the underlying worker code.

If the test just tries to determine whether an object has been collected, and it discovers that the object hasn't been collected in JSC, and the reason it hasn't been collected is that the conservative mark method finds a pointer to it on the stack, then disabling the test seems reasonable.

However, the I don't think anyone has proven those things, and the code involved looks pretty wonky, so something else may be going wrong here.

Geoff


More information about the webkit-dev mailing list