finalizer's not really finalizers? - causing segfaults

Sean Kelly sean at invisibleduck.org
Mon Sep 8 08:05:24 PDT 2008


Alan Knowles wrote:
> One of the segfaults I was getting was in
> _d_finalizer() - c.destructor was pointing to an invalid address..
> 
> What I'm suspecting happens is that the compiler thinks that casting the 
> pointer to a (ClassInfo **) appears to be valid, but is not actually.. 
> and then c.destructor points to an invalid address, causing a segfault.
> 
> by removing the calls in the GC to the finalizer - I think this bug gets 
> solved (however obviously ~this() probably doesnt work any more..)
> 
> Is this a feasible situation????

It's more likely that you have a dangling reference or something like that.


Sean



More information about the Digitalmars-d mailing list