Boost logo

Boost :

Subject: Re: [boost] [1.43][Serialization] Serializationlibrary serioslybroken
From: Robert Ramey (ramey_at_[hidden])
Date: 2010-04-26 12:45:45


Hartmut Kaiser wrote:

> I'm sorry, I should have mentioned this earlier. The application
> dynamically loads (and unloads) modules containing code of mostly
> polymorphic objects serialized through smart pointers. We see the
> problem both, on Windows using vc10 (I did not try with other
> compilers here) and different Linux systems using various versions of
> gcc.
>
>> Does the application dynamically unload DLLS and continue to execute?
>
> As I said, no module is unloaded before the assertion trips. We see
> the issue right at application startup.

This is a key fact for me. I could understand this occuring if one
instantiates serialization of derived class in several different modules.
It's possible (or maybe likely) that my tests don't do that. It's
been my view that doing this is a bad idea since it's possible that
there might exist of multiple (and perhaps differing) instantiations
in different modules. So I think I crafted my tests to avoid doing that.

The big mystery to me is that if this is the problem, I can't see
why it doesn't show up in 1.42 . The differences between 1.42
and 1.43 in this area are very small and don't touch upon this
area. The same assert exists in 1.42. No one has had a problem
with it. But then, it is an unusual case or ???

>> Is it possible to make a small example?
>
> I'm not sure, but I can try.
>
> I'm not sure if this is important, the assertion gets tripped by a
> symbol related to smart pointer serialization (see my code example in
> the initial mail).

I'm not sure either. Given that I have no idea where this is
coming from, it could be anything.

Robert Ramey


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