[Gc] Out of Memory! Returning NIL!
hans.boehm at hp.com
Mon Nov 13 17:52:38 PST 2006
It would be useful to look at a more complete GC log (either define the
GC_PRINT_STATS environment variable, or compiler the collector without
Assuming your application normally uses much less than 1 GB, possible
1) You are allocating large objects containing seemingly random
bit-patterns. If that's the case, these may appear to the collector to
be pointers. The C++ proposal addresses this issue with declaration
that allow the implementation to use type information. For now, the
standard solution is to make sure GC_malloc_atomic is used for those
objects. You should see this as very little memory reclaimed by the GC
and regular heap expansions, with a large final heap size.
2) You are internally using some form of custom allocation by obtaining
pools of objects from the collector. This is generally not a good idea
with a garbage collector. Symptoms will probably be similar.
3) This is caused by a single huge allocation request due to memory
corruption. This should be apparent form the log.
4) Something else.
From: gc-bounces at napali.hpl.hp.com
[mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of Simon Tsai
Sent: Monday, November 13, 2006 4:12 PM
To: gc at napali.hpl.hp.com
Subject: [Gc] Out of Memory! Returning NIL!
I have integrated gc 6.8 library with my applications under
Windows XP. My system has 1GByte memory. Our application has used smart
heap. The application is muti-thread. I saw gc.log has following erros:
"Out of Memory! Returning NIL!" and
"GC Warning: Thread stack pointer 0x5c9f018 out of range,
Does anyone know what cause this problem and how to fix it?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Gc