On 05/17/2017 07:36 PM, Markus Trippelsdorf wrote: > 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, could you confirm that it is chocking on the EAGAIN failure? Or is it something else? What is userspace supposed to do with the error code? Thanks, Florian