Re: commit cfafcd117 "futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()" causes glibc nptl/tst-robustpi8 failure

From: Markus Trippelsdorf
Date: Thu May 18 2017 - 04:04:50 EST


On 2017.05.18 at 09:40 +0200, Peter Zijlstra wrote:
> On Wed, May 17, 2017 at 07:36:46PM +0200, Markus Trippelsdorf wrote:
> > Since:
> > commit cfafcd117da0216520568c195cb2f6cd1980c4bb
> > Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > 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.
>
> OK, so how do I get those tests build?
>
> I did a checkout of glibc.git
>
> glibc$ mkdir build; cd build
> build$ ../configure --disable-sanity-checks ; make -j40
> build$ ./nptl/tst-robustpi8
> -bash: ./nptl/tst-robustpi8: No such file or directory
>
> "make tests" doesn't seem to work either even though its a build target
> listed in the Makefiles.
>
> What magic incantation do I need?

Something like:

% ~/glibc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --with-headers=/usr/include --enable-add-ons --enable-kernel=4.10 --with-tls --with-__thread --enable-bind-now --without-gd --without-cvs --disable-profile --disable-multi-arch --disable-werror
% make -j128
% make -j128 check

But I've attached the testcase, so building should be unnecessary.

--
Markus

Attachment: tst-robustpi8.xz
Description: Binary data