[Gc] RE: What does "Finalization cycle" mean?

Talbot, George Gtalbot at locuspharma.com
Tue Jun 2 12:22:08 PDT 2009


I'm pretty sure that I don't have a cycle in my data structure, and the only finalization I'm doing is via the gc_cleanup class in gc_cpp.h which uses GC_register_finalizer_ignore_self.  Is there anything else that I might check that might give me a leg-up on this?

--
George T. Talbot
gtalbot at locuspharma.com<mailto:gtalbot at locuspharma.com>



-----Original Message-----
From: Boehm, Hans [mailto:hans.boehm at hp.com]
Sent: Tuesday, June 02, 2009 2:28 PM
To: Talbot, George; gc at linux.hpl.hp.com
Subject: RE: What does "Finalization cycle" mean?

This means that by following a chain of one or more pointers from a finalizable object f, you can get back to f.  It means that f''s finalizer would unavoidably see a partially finalized object if it were run, and thus isn't.

You may be calling GC_register_finalizer where you meant GC_register_finalizer_ignore_self, and thus getting caught by pointers from the object to itself, e.g. to implement C++ multiple inheritance.

Hans

________________________________
From: gc-bounces at napali.hpl.hp.com [mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of Talbot, George
Sent: Tuesday, June 02, 2009 10:52 AM
To: gc at linux.hpl.hp.com
Subject: [Gc] What does "Finalization cycle" mean?
I'm getting this message in my otherwise working C++ program:  GC Warning: Finalization cycle involving 2ab1a897bbd0

Does anyone recall what this means?  I don't currently believe that my data structures have any cycles in them.

--
George T. Talbot
gtalbot at locuspharma.com<mailto:gtalbot at locuspharma.com>



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://napali.hpl.hp.com/pipermail/gc/attachments/20090602/73abf1c3/attachment.htm


More information about the Gc mailing list