This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/11644] New: Hang in throw when unloading a library
- From: "peter dot rost at freenet dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Jul 2003 12:12:27 -0000
- Subject: [Bug c++/11644] New: Hang in throw when unloading a library
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11644
Summary: Hang in throw when unloading a library
Product: gcc
Version: 3.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: peter dot rost at freenet dot de
CC: gcc-bugs at gcc dot gnu dot org
hello,
i found the following which doesn't appears in g++-2.95 but in g++-3.2 and
g++3.3. i'm using debian-linux with the gcc-version 3.3.1 20030626 (Debian
prerelease). the situation is as follows:
i wrote a main program which loads a library and calls a function (defined in
the library) which creates some threads. after a few seconds the main program
tries to unload the library. hence the __fini_lib-function will be called and
tries to finish all threads. but one of these threads throws an exception. and
this throw-call hangs (it wion't be catched!) incl. the rest of the program;)
peter.
the gdb-output of this hang looks like:
#0 0x40150ea9 in sigsuspend () from /lib/libc.so.6
#1 0x4003cd48 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0
#2 0x4003e9ab in __pthread_lock () from /lib/libpthread.so.0
#3 0x4003b1c8 in pthread_mutex_lock () from /lib/libpthread.so.0
#4 0x4021eb7c in dl_iterate_phdr () from /lib/libc.so.6
#5 0x40124de7 in _Unwind_Find_FDE () from /lib/libgcc_s.so.1
#6 0x40122bd9 in uw_frame_state_for () from /lib/libgcc_s.so.1
#7 0x401230aa in uw_init_context_1 () from /lib/libgcc_s.so.1
#8 0x40123308 in _Unwind_RaiseException () from /lib/libgcc_s.so.1
#9 0x400d4799 in __cxa_throw () from /usr/lib/libstdc++.so.5
#10 0x400207e8 in ?? ()
#11 0x40021006 in ?? ()
#12 0x40020dea in ?? ()
#13 0x4003a1b0 in pthread_start_thread () from /lib/libpthread.so.0