[Gc] Re: GC needs to be invoked manually
martin.wartens at mymail.ch
Mon Aug 15 04:39:26 PDT 2005
Thanks for looking at my program. But it really is a tree structure. Sorry for
the bad names in the code, I should have replaced them to make it more clear.
To be on the safe side, I tested my program with cycle collection on - no
effect. [cycle collection can be turned on, I believe, by replacing
GC_register_finalizer_ignore_self by GC_register_finalizer_no_order in
gc_cpp.h. I think this should be on by default or at least be selectable by a
Somebody else suggested to derive from gc instead of gc_cleanup, but that has
no effect either. I also tried to overwrite global new/delete by the gc-
versions. I also tried all the flavors of threaded/non-threaded static/shared
libraries. No success.
There must be something evil in the example code (or something extremely
stupid). The bug is quite breakable, meaning that you can make the example work
by changing a few things. Meanwhile I replaced all the suspicious data
structures in my actual program, but I still would like to know what caused
this problem to avoid it in the future.
More information about the Gc