|
Boost : |
Subject: Re: [boost] [1.37.0][serialization] Assertionfailed atlibs/serialization/src/extended_type_info.cpp:92
From: Robert Ramey (ramey_at_[hidden])
Date: 2008-10-23 01:34:50
Hartmut Kaiser wrote:
> Robert,
> Sure, understand. The problem is that in release mode my application
> just hangs indefinitely after main() exited and there is no way of
> terminating it short of kill -9. Not something I can ask my users to
> do all the time.
In a pinch, you can tweak your copy of the library while this gets
sorted out.
> A bit more detail about how I set things up:
>
> I'm serializing polymorphic objects through a shared_ptr to the base
> class. The object definitions are distributed over several shared
> libraries, all of them loaded using dlopen (on Windows 32/64Bit
> everything is fine, BTW). Each object has a corresponding
> BOOST_CLASS_EXPORT() placed in one of the cpp files each (not the
> headers) of the corresponding shared library. Boost serialization is
> linked dynamically (to ensure to have one typeinfo
> registry) as well, but the corresponding shared (boost) library is
> linked with the application, so it is loaded at application startup.
This looks perfect to me.
A little bit of time trapping
on key_register and key_unregister might explain what's up.
There should be one key_register and a matching key_unregister
for each exported type. Since this is very hard to reproduce,
could I ask you to spend a little time investigating why
this seems not to be true in this case? I would hope
that trapping on these two functions and watching what
the arguments are might shed light on the mystery.
Robert Ramey
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk