From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754482AbdEQRuh (ORCPT ); Wed, 17 May 2017 13:50:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42232 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754344AbdEQRue (ORCPT ); Wed, 17 May 2017 13:50:34 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 6FDBDC0467C4 Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=fweimer@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 6FDBDC0467C4 Subject: Re: commit cfafcd117 "futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()" causes glibc nptl/tst-robustpi8 failure To: Markus Trippelsdorf , linux-kernel@vger.kernel.org Cc: Peter Zijlstra , Thomas Gleixner , Torvald Riegel References: <20170517173646.GA281@x4> From: Florian Weimer Message-ID: <784746fd-55e4-679c-c9a5-85aeffc166b3@redhat.com> Date: Wed, 17 May 2017 19:50:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: <20170517173646.GA281@x4> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 17 May 2017 17:50:34 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/17/2017 07:36 PM, Markus Trippelsdorf wrote: > Since: > commit cfafcd117da0216520568c195cb2f6cd1980c4bb > Author: Peter Zijlstra > 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