This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc 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 nptl/18109] New: PI futexes can also have FUTEX_OWNER_DIED set


https://sourceware.org/bugzilla/show_bug.cgi?id=18109

            Bug ID: 18109
           Summary: PI futexes can also have FUTEX_OWNER_DIED set
           Product: glibc
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: nptl
          Assignee: unassigned at sourceware dot org
          Reporter: brian@peloton-tech.com
                CC: drepper.fsp at gmail dot com

Created attachment 8183
  --> https://sourceware.org/bugzilla/attachment.cgi?id=8183&action=edit
simplified test case

I can reliably trigger an assertion failure in nptl/pthread_mutex_lock.c by
having a thread die with a PTHREAD_PRIO_INHERIT mutex held. A simplified test
case is attached.

$ gcc -pthread mutex_test.c && ./a.out 
a.out: pthread_mutex_lock.c:321: __pthread_mutex_lock_full: Assertion `robust
|| (oldval & 0x40000000) == 0' failed.
Aborted
$ uname -a
Linux master 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u1 x86_64 GNU/Linux

This behavior from the kernel looks deliberate. I'm not sure if the fix is just
removing the assert (and an identical one in nptl/pthread_mutex_timedlock.c) or
if some of the other logic in nptl/pthread_mutex_*lock.c also needs to be fixed
to handle this correctly.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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