This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/11644] New: Hang in throw when unloading a library


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]