[1.37.0][serialization] Assertion failed at libs/serialization/src/extended_type_info.cpp:92

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

Hartmut Kaiser wrote:
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).
Hey Hartmut, 1. What does the output of 'gcc --verbose' give you? I'm looking for some flags that show how gcc was built, specifically one involving __cxa_atexit (i'm just following a hunch) 2. Have you tried dlopening these libs with (RTLD_NOW | RTLD_GLOBAL)? -t
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
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Troy,
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).
1. What does the output of 'gcc --verbose' give you? I'm looking for some flags that show how gcc was built, specifically one involving __cxa_atexit (i'm just following a hunch)
[hkaiser@celeritas ~]$ gcc --verbose Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ./configure --prefix=/usr/local/compilers/gcc-4.2.4 --with-mpfr=/usr/lib/mpfr --enable-languages=c,c++ Thread model: posix gcc version 4.2.4
2. Have you tried dlopening these libs with (RTLD_NOW | RTLD_GLOBAL)?
Yep, same picture. Regards Hartmut
-t
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
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

hi there: will boost have more useful libraries in future(or already have)? such as: network(socket),xml,soap ,etc what is boost going to be? like what C# or java library provide? Thanks&Regards, zhou rui

On Thu, Oct 23, 2008 at 9:34 AM, <jon_zhou@agilent.com> wrote:
hi there:
will boost have more useful libraries in future(or already have)?
such as:
network(socket),xml,soap ,etc
what is boost going to be? like what C# or java library provide?
Depends on whether anyone feels inclined to write them! WYSIWYG. Cheers, Rob.
participants (5)
-
Hartmut Kaiser
-
jon_zhou@agilent.com
-
Philippe Vaucher
-
Robert Jones
-
troy d. straszheim