[Gc] Out of Memory! Returning NIL!

Boehm, Hans 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
causes are:
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,
pushing everything".



	Does anyone know what cause this problem and how to fix it?







-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://napali.hpl.hp.com/pipermail/gc/attachments/20061113/f0ffb670/attachment.htm

More information about the Gc mailing list