I believe I've identified a deadlock that is periodically reproducible with Eclipse running on FC5. I'll attach the stack trace to this bug report. See threads 4 and 13.
1. Thread 4 aquires the GC lock and starts a GC 2. Thread 13 dlopens a .so, acquiring a glibc maintained lock 3. Thread 13 tries to acquire the GC lock while registering classes 4. Thread 4 tries to acquire the glibc lock in dl_iterate_phdr ...and we're deadlocked. -- Summary: Deadlock in garbage collector Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libgcj AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: green at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27170