Subject: Re: [boost] [1.37.0][serialization] Assertion failed at libs/serialization/src/extended_type_info.cpp:92
From: Gennaro Prota (gennaro.prota_at_[hidden])
Date: 2008-10-21 11:37:03
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
>> if(this == *start)
>> }while(start != end);
> After looking at this code again I have the impression that it is broken
Yes, but IMHO not for the reason you mention. Certainly I
wouldn't let the start++/++start "dance" pass a code review.
PS: don't use tab characters in posts! :-)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk