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

lerdsuwa at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Aug 24 14:36:00 GMT 2003


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


lerdsuwa at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2003-08-24 14:36:22
               date|                            |


------- Additional Comments From lerdsuwa at gcc dot gnu dot org  2003-08-24 14:36 -------
We have a deadlock between glibc functions 'dlclose' and
'dl_iterate_phdr' both rely on the spinlock '_dl_load_lock'.  
And glibc doesn't have a recursive lock implementation yet.

This interferes with stack unwinding code in GCC.  When
compiled for glibc it currently uses 'dl_iterate_phdr' to
unwind the stack.  So user cannon throw exception anywhere 
inside library clean up function (called during 'dlclose').



More information about the Gcc-bugs mailing list