$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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