There is a problem with _S_destroy_thread_key when loading dynamic libraries. This function will be called when thread finishes. But unfortunatelly when using dynamic libraries the code might be removed from memory using dlclose(). After that thread that has been modifing stl containers inside dynamic library will finish with SEGV.
Probably the best solution would be to make this method static and move it's body to shared library or enable manual thread detachment. -- Summary: problem with _S_destroy_thread_key when using dynamic libraries Product: gcc Version: 3.4.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: l_heldt at poczta dot onet dot pl CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19265