Bugzilla – Bug 5481
Callback deactivation hang on Debian 4.0 w/pthreads
Last modified: 2007-12-11 12:40:57
You need to log in before you can comment on or make changes to this bug.
Deactivating the callback module in c common hangs on Debian 4.0 when built with phreads. I did a bunch of tracing and debugging on this, and think it relates to this libc bug: http://www.mail-archive.com/debian-glibc@lists.debian.org/msg33956.html. I've observed that the hang occurs when destroying the condition variable that the callback signal thread was waiting on. It appears that pthread_cancel is corrupting the condition variable being waited on. The broadcast-after-cancel in the common lib makes the condition destroy not fail with EBUSY, but it still hangs.
Is this trunk, branch, or both?
The trick of using LD_ASSUME_KERNEL=2.4.19 suggested on http://www.mail-archive.com/debian-glibc@lists.debian.org/msg33956.html works. The fix for the debian bug related, will not be backported to stable. I think that bugs 5581 is a duplicate of this.
Fix for this is committed to 4.0 branch and trunk. The LD_ASSUME_KERNEL workaround had some side effects. Joe