Boost logo

Boost :

Subject: Re: [boost] [1.37.0][serialization] Assertion failed at libs/serialization/src/extended_type_info.cpp:92
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2008-10-21 11:55:57


> Hartmut Kaiser wrote:
> >> Anything I can do about this?
> >> What does this assertion mean?
> >>
> >> My setup: Linux 64Bit, gcc 4.2.4, serialization is used for
> polymorphic
> >> objects loaded from different shared libraries, shared libraries are
> >> loaded with dlopen(RTLD_GLOBAL|RTLD_LAZY).
> >>
> >> Assertion (extended_type_info.cpp:92) occurs during program
> termination
> >> (after main returned), during dlclose().
> >>
> >> If anything else isn't possible, would it be appropriate to change
> the
> >> related code (before the release!) from:
> >>
> >> assert(start != end);
> >>
> >> // remove entry in map which corresponds to this type
> >> do{
> >> if(this == *start)
> >> x.erase(start++);
> >> else
> >> ++start;
> >> }while(start != end);
> >
> > After looking at this code again I have the impression that it is
> broken
> > anyways.
>
> Yes, but IMHO not for the reason you mention. Certainly I
> wouldn't let the start++/++start "dance" pass a code review.

Agreed.

> PS: don't use tab characters in posts! :-)

It's a raw copy of the code, so there have to be tabs in the source files...

Regards Hartmut


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