Boost logo

Boost :

Subject: Re: [boost] [1.39.0] Beta candidate
From: Ruediger Berlich (ruediger.berlich_at_[hidden])
Date: 2009-04-25 16:30:29


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 .

Best Regards,
Ruediger

troy d. straszheim wrote:

> I remember that one, it was nasty. Looks like some work has been done
> in there since 1.38:
>
http://sodium.resophonic.com/git/boost/commit/?h=release&id=c7e977901094b902b12937dda9994593dbafdc43
>
> I haven't taken a close look, but this looks a little suspicious:
>
>
http://sodium.resophonic.com/git/boost/diff/libs/serialization/src/extended_type_info_typeid.cpp?h=release&id=c7e977901094b902b12937dda9994593dbafdc43
>
> A backtrace would be helpful...

/***************************************************************************/

#0 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
#1 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#2 0x00007ffff60275fb 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
#3 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#4 0x00007ffff60275fb 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
#5 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#6 0x00007ffff60275fb 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
#7 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#8 0x00007ffff60275fb 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
#9 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#10 0x00007ffff60275fb 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
#11 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#12 0x00007ffff60275fb 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
#13 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#14 0x00007ffff60275fb 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
#15 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_sh
ortcut::~void_caster_shortcut() ()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#16 0x00007ffff60275fb 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
#17 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#18 0x00007ffff60275fb 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
#19 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#20 0x00007ffff60275fb 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
#21 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#22 0x00007ffff60275fb 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
#23 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#24 0x00007ffff60275fb 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
#25 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#26 0x00007ffff60275fb 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
#27 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#28 0x00007ffff60275fb 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
#29 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#30 0x00007ffff60275fb 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
#31 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#32 0x00007ffff60275fb 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
#33 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#34 0x00007ffff60275fb 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
#35 0x00007ffff6027af7 in
boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
()
   from /opt/boost139/lib/libboost_serialization-gcc43-mt-1_39.so.1.39.0
#36 0x00007ffff60275fb 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
[...]

This goes on forever. I have stopped looking at #3265 of gdb's backtrace.


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