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.

Reply via email to