Boost logo

Boost Users :

Subject: Re: [Boost-users] serialization in 1.39: crash on program exit
From: Ruediger Berlich (ruediger.berlich_at_[hidden])
Date: 2009-05-12 16:29:00


Hi Filip,

I cannot really help except by telling that I have seen a very similar
problem with two compilers: Intel 10.1 (on Scientific Linux 4) and g++
4.3.2 (on OpenSUSE 11.1), both 64 bit.

I am still not sure whether it is a problem with my own program or the
serialization library. However, it seems to be related to singletons (of
which I have two, and the serialization library maintains at least one, I
believe), as the crash happens after the last command in main() (and thus
does not affect my program at run-time).

Best Regards,
Ruediger

Filip Peters wrote:
> Hi,
>
> I just compiled our program with boost 1.39, upgraded from 1.38.
> Now on exit I get a crash, (unhandled exception: stack overflow).
> If I look at the call stack, it's filled with
>
Scene.dll!boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
> Line 88 C++
>
Scene.dll!boost::serialization::void_cast_detail::void_caster_shortcut::`scalar
> deleting destructor'() + 0xf bytes C++
>
Scene.dll!boost::serialization::void_cast_detail::void_caster::recursive_unregister()
> Line 207 + 0x28 bytes C++
>
Scene.dll!boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
> Line 88 C++
>
Scene.dll!boost::serialization::void_cast_detail::void_caster_shortcut::`scalar
> deleting destructor'() + 0xf bytes C++
>
Scene.dll!boost::serialization::void_cast_detail::void_caster::recursive_unregister()
> Line 207 + 0x28 bytes C++
>
Scene.dll!boost::serialization::void_cast_detail::void_caster_shortcut::~void_caster_shortcut()
> Line 88 C++
>
Scene.dll!boost::serialization::void_cast_detail::void_caster_shortcut::`scalar
> deleting destructor'() + 0xf bytes C++
>
> compiler: ms visual c++ 2008
> boost 1.39.0
>
> I have a whole lot of classes that are registered with BOOST_CLASS_EXPORT,
> and saved through a shared_ptr to a base class. If I remove the exports,
> start and quit the application, I don't get a crash.
>
> It was working fine in 1.37 and 1.38. (from 1.33.1 on in fact)
>
> Has anybody seen this before or any ideas?
>
> thx,
> Filip Peters


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net