Status: New
Owner: ----
New issue 3165 by [email protected]: Process out of memory exceptions
on OS X 10.5 Leopard
http://code.google.com/p/v8/issues/detail?id=3165
OS X 10.5 suffers from a problem it inherited from BSD: The initial process
data limit is set to 6 MB.
The data limit is retrieved in OS::MaxVirtualMemory in platform-posix.cc
and then used to limit the code size to 1/8th of it in the Heap constructor
in heap.cc. This results in the code size being limited to 750 kB on OS X
Leopard which is too low to even setup a context in many cases. V8 then
bails out with an out of memory exception in
CodeRange::GetNextAllocationBlock.
This can easily be fixed by ignoring the limit on OS X or using setrlimit
to set it to rlimit_max before returning from OS::MaxVirtualMemory.
The original problem description refers to 386BSD and dates back to 1992:
http://www.dnull.com/bsd/oldnews/bsdnew3946.html (item 4)
The problem and fix can be retraced in the XNU kernel code:
- OS X 10.5.8:
http://www.opensource.apple.com/source/xnu/xnu-1228.15.4/bsd/i386/vmparam.h
- OS X 10.6.0 (fixed):
http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/i386/vmparam.h
Interestingly, the problem was fixed in the PPC header in 10.5.0 already.
Looks like someone forgot to apply the fix in the x86 sources as well.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.