
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); To: assert(start != end); // remove entry in map which corresponds to this type while(start != end) { if(this == *start) x.erase(start++); else ++start; } Which wouldn't remove the problem, but at least avoids hanging the program if assertions are off... Regards Hartmut