Description of problem: Crashing at __lll_mutex_timedlock_wait+148 (/lib64/tls/libpthread.so.0): lock cmpxchg %edx,(%rdi) Because the syscall wasn't made and %rdi hasn't been loaded with %r12 yet. Version-Release number of selected component (if applicable): glibc-3.4.0 How to fix: Move the mov %r12,%rdi instruction up somewhere before the je 8f. How to reproduce: This isn't easy to reproduce and I'm not going to write a testcase for it since it's a very obvious bug in the code. But, my from the situation I get it in is that it requires a 2nd thread to signal the condition variable / mutex (I'm not quite sure which it is) while the crashing thread is engaging a sleep.
Fixed in CVS, thanks: http://sources.redhat.com/ml/glibc-cvs/2007-q1/msg00227.html Will be backported for RHEL4.6.
Fixed in rawhide glibc-2.5.90-17 so far.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2007-0807.html