Since: commit cfafcd117da0216520568c195cb2f6cd1980c4bb Author: Peter Zijlstra <pet...@infradead.org> Date: Wed Mar 22 11:35:58 2017 +0100
futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock() glibc's nptl/tst-robustpi8 testcase fails: glibc-build % ./nptl/tst-robustpi8 tst-robustpi8: ../nptl/pthread_mutex_lock.c:424: __pthread_mutex_lock_full: Assertion `INTERNAL_SYSCALL_ERRNO (e, __err) != ESRCH || !robust' failed. pthread_mutex_lock.c: 415 if (INTERNAL_SYSCALL_ERROR_P (e, __err) 416 && (INTERNAL_SYSCALL_ERRNO (e, __err) == ESRCH 417 || INTERNAL_SYSCALL_ERRNO (e, __err) == EDEADLK)) 418 { 419 assert (INTERNAL_SYSCALL_ERRNO (e, __err) != EDEADLK 420 || (kind != PTHREAD_MUTEX_ERRORCHECK_NP 421 && kind != PTHREAD_MUTEX_RECURSIVE_NP)); 422 /* ESRCH can happen only for non-robust PI mutexes where 423 the owner of the lock died. */ 424 assert (INTERNAL_SYSCALL_ERRNO (e, __err) != ESRCH || !robust); During bisection the commit above hangs the machine when I run the testcase. See: https://sourceware.org/bugzilla/show_bug.cgi?id=21487 -- Markus