Updates:
        Cc: [email protected]
        Labels: -Priority-High Priority-Medium

Comment #6 on issue 2473 by [email protected]: http://www.chaostoperfection.com/ crashes in V8 initialization on 64-bit platforms
http://code.google.com/p/v8/issues/detail?id=2473

The regression range I found is wrong. Intermittent crashes are reproducible at least as far back as Chromium r168401 and, I'm sure, earlier.

The root cause is probably that the number of workers being spawned reserves so much address space that it runs into limitations imposed by the sandbox. This is clearly happening even before the 8 GB -> 4 GB reduction above.

If heap.cc is modified to reduce the compiled code space to 25% of its original value, the crashes stop happening and the demo runs successfully.

I think that reserving 512 MB for compiled code on 64-bit architectures is unreasonable, especially for isolates. On the web, workers almost certainly won't need as much space for compiled code as the main thread. I think that 512 MB of compiled code space for the main thread is unreasonable too.

We are going to investigate modifying this demo to stop spawning so many workers (though I haven't yet measured how many are being created), but I think V8 should be changed to reduce the amount of address space it reserves per isolate.

Additionally, the Web Worker specification probably needs to be modified to support some sort of graceful failure to create a new worker due to the machine being out of resources.


Attachments:
        heap-diff.txt  756 bytes

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to