Boost logo

Boost :

Subject: Re: [boost] [1.39.0] Beta candidate
From: troy d. straszheim (troy_at_[hidden])
Date: 2009-04-25 19:18:17


Ruediger Berlich wrote:
> Hi Troy,
>
> gdb reports:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff60274b8 in
> boost::serialization::void_cast_detail::void_caster::recursive_unregister()
> const ()
> from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
>
> More (albeit IMHO not very helpful) details from the backtrace can be found
> at the end of this post. Somehow looks like an infinite recursion ?
>
> Note that I can of course not rule out a problem in my own code. However,
> this "feels" like the pre-1.38 problem in that it does not affect the
> runtime behaviour of my programs (nor of the library's tests) and that the
> segfault happens after the last statement in main(). And as I said, the
> code runs fine with 1.38 .
>

Hm. I can't reproduce it. I'm not getting the error with the release
beta.

One thing I stumbled on when looking at this last time was the following
  gcc flag:

----
   -fuse-cxa-atexit
     Register destructors for objects with static storage duration with 
the __cxa_atexit function rather than the atexit function. This option 
is required for fully standards-compliant handling of static 
destructors, but will only work if your C library supports __cxa_atexit.
----
and as I recall, '-fno-use-cxa-atexit' was on by default on the linux 
distribution I was on (might have been ubuntu 8.04).   I'm still curious 
as to when that flag could possibly be useful.
-t

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk