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