From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 11 Apr 2017 08:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.149189863719334 (code B ref -1); Tue, 11 Apr 2017 08:18:01 +0000 Received: (at submit) by debbugs.gnu.org; 11 Apr 2017 08:17:17 +0000 Received: from localhost ([127.0.0.1]:41941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cxqzE-00051l-In for submit@debbugs.gnu.org; Tue, 11 Apr 2017 04:17:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40495) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cxqzD-00051a-Bu for submit@debbugs.gnu.org; Tue, 11 Apr 2017 04:17:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cxqz5-0006US-3d for submit@debbugs.gnu.org; Tue, 11 Apr 2017 04:17:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:38057) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cxqz5-0006UM-0W for submit@debbugs.gnu.org; Tue, 11 Apr 2017 04:17:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59685) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxqz2-0007Tw-SI for bug-guix@gnu.org; Tue, 11 Apr 2017 04:17:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cxqz1-0006Td-0R for bug-guix@gnu.org; Tue, 11 Apr 2017 04:17:04 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51776) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxqyv-0006Sg-1E; Tue, 11 Apr 2017 04:16:57 -0400 Received: from [193.50.110.157] (port=45768 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cxqyu-0007m6-DG; Tue, 11 Apr 2017 04:16:56 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 Germinal an 225 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Tue, 11 Apr 2017 10:16:54 +0200 Message-ID: <871sszuznt.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) With current =E2=80=98master=E2=80=99, Gnulib=E2=80=99s =E2=80=98test-lock= =E2=80=99 (a test found in many GNU packages that use Gnulib, such as gettext-0.19.8.1) fails to complete in 1 hour almost systematically on bayfront, which is a 32-core x86_64 machine. The backtrace is like this: --8<---------------cut here---------------start------------->8--- (gdb) thread apply all bt Thread 21 (LWP 5636): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 20 (LWP 5635): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 19 (LWP 5634): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 18 (LWP 5633): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 17 (LWP 5632): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 16 (LWP 5631): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 15 (LWP 5630): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 14 (LWP 5629): #0 0x00007ffff77a93d6 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 13 (LWP 5628): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 12 (LWP 5627): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 11 (LWP 5626): #0 0x00007ffff74cf777 in sched_yield () from target:/gnu/store/rmjlycdgiq8= pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 #1 0x0000000000401810 in gl_thread_yield () at test-lock.c:104 #2 rwlock_checker_thread (arg=3D) at test-lock.c:381 #3 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #4 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 10 (LWP 5625): #0 0x00007ffff74cf777 in sched_yield () from target:/gnu/store/rmjlycdgiq8= pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 #1 0x0000000000401810 in gl_thread_yield () at test-lock.c:104 #2 rwlock_checker_thread (arg=3D) at test-lock.c:381 #3 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #4 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 9 (LWP 5624): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 8 (LWP 5623): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 7 (LWP 5622): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 6 (LWP 5621): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 5 (LWP 5620): #0 0x00007ffff74cf777 in sched_yield () from target:/gnu/store/rmjlycdgiq8= pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 #1 0x0000000000401810 in gl_thread_yield () at test-lock.c:104 #2 rwlock_checker_thread (arg=3D) at test-lock.c:381 #3 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #4 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 4 (LWP 5619): #0 0x00007ffff74cf777 in sched_yield () from target:/gnu/store/rmjlycdgiq8= pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 #1 0x0000000000401810 in gl_thread_yield () at test-lock.c:104 #2 rwlock_checker_thread (arg=3D) at test-lock.c:381 #3 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #4 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 3 (LWP 5618): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 2 (LWP 5617): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 1 (LWP 5605): #0 0x00007ffff77a568d in pthread_join () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000400e29 in gl_thread_join (retvalp=3D0x0, thread=3D) at test-lock.c:99 #2 test_rwlock () at test-lock.c:408 #3 main () at test-lock.c:682 --8<---------------cut here---------------end--------------->8--- Mathieu Othacehe reported the same issue on a 32-core machine. This may be fixed by Gnulib commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 (not present in gettext-0.19.8.1), which introduces this: --- a/tests/test-lock.c +++ b/tests/test-lock.c @@ -50,6 +50,13 @@ Uncomment this to see if the operating system has a fair scheduler. = */ #define EXPLICIT_YIELD 1 +/* Whether to use 'volatile' on some variables that communicate informat= ion + between threads. If set to 0, a lock is used to protect these variab= les. + If set to 1, 'volatile' is used; this is theoretically equivalent but= can + lead to much slower execution (e.g. 30x slower total run time on a 40= -core + machine. */ +#define USE_VOLATILE 0 30x slower could exceed the default max-silent-timeout, which is 1 hour. Ludo=E2=80=99. From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 12 Apr 2017 09:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 26441@debbugs.gnu.org X-Debbugs-Original-Cc: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.149198768229612 (code B ref -1); Wed, 12 Apr 2017 09:02:01 +0000 Received: (at submit) by debbugs.gnu.org; 12 Apr 2017 09:01:22 +0000 Received: from localhost ([127.0.0.1]:43678 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyE9S-0007hY-JE for submit@debbugs.gnu.org; Wed, 12 Apr 2017 05:01:22 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyE9Q-0007hM-P9 for submit@debbugs.gnu.org; Wed, 12 Apr 2017 05:01:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyE9K-0004Qv-Iv for submit@debbugs.gnu.org; Wed, 12 Apr 2017 05:01:15 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:41066) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cyE9K-0004Qb-GN for submit@debbugs.gnu.org; Wed, 12 Apr 2017 05:01:14 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39338) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cyE9G-0006Vd-Ao for bug-guix@gnu.org; Wed, 12 Apr 2017 05:01:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyE9C-0004K1-Fy for bug-guix@gnu.org; Wed, 12 Apr 2017 05:01:10 -0400 Received: from mail-wr0-x231.google.com ([2a00:1450:400c:c0c::231]:33116) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cyE9C-0004Jd-9P; Wed, 12 Apr 2017 05:01:06 -0400 Received: by mail-wr0-x231.google.com with SMTP id l28so13040776wre.0; Wed, 12 Apr 2017 02:01:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=Q5SnOF7NQjNHhA0oQxtIub+c/B8V/w5u3XCEB9xZ7Qk=; b=dNoeG3F4STxKkaOMERcUUTFZnge150f1TuA3CPirY8GLTuUy4oP07vqDKfEVeRtc3Q MOxO7CO5OebiqGA1ctkcMj5vaf2h81gYS3LHuQCwHMjH1NUvzuIPYRlcBzlh2mETSGZJ 67dHdPG0+anwiNiEbk0pRIBFJhfs7d58rLiFmuZPu7mZXpBlEIUEF/6o9r+diSq5q0F/ 0Wk1GeNz9khhzJnpRWQSN1qcMamJNjfxQCrMims/gI+t/qGLv/2H4UmaUr+2S1xexjrJ 7e5QA9o2EPFPzIwPck5LBPeEeBJnf7CpsyC03uHZ64xxO8mimBDPKYwsJ3To5UPK2hJ9 YCDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=Q5SnOF7NQjNHhA0oQxtIub+c/B8V/w5u3XCEB9xZ7Qk=; b=sSZo69gdeMCtTn1eOpD+XGUxuqxOgE7EQK/nu1V2UtTKUkQgDWOhVjgve6C1khdEs1 foOHSGBKR6EbRb7vhVdNmDYmvx83whMuvNe9A2TUZzdlK9QB4YG9Uc9vUz9HZQLGmayW xW/gw68FpX4emVppxtmFTSYfEJ8HvH9iPtq1TaUHyHM7YUa3rvxtB1biIJddJbnWg2QZ UVnb43eE0EPc/lm1Wz2rTIGHx6FFK5Ms86HXLIG++YUb2Ozk07wSHyZ9Nizc1kFg3QG+ ZGTPPlmapvOgFkqIwbNcJrsGzzAKGs7bcssJtLd9pLi7ojHOFJ6KwfWJTR/XlzWonjKW oirA== X-Gm-Message-State: AN3rC/5rAXzBqSVoTmJ4gj5sm1ddwcyV0xsHHtdknTX5mugW4AmKMktdy3nWcw0zd2O8Ig== X-Received: by 10.223.181.131 with SMTP id c3mr1884182wre.61.1491987664878; Wed, 12 Apr 2017 02:01:04 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id y190sm5742803wmy.15.2017.04.12.02.01.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Apr 2017 02:01:04 -0700 (PDT) References: <871sszuznt.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe In-reply-to: <871sszuznt.fsf@gnu.org> Date: Wed, 12 Apr 2017 11:01:16 +0200 Message-ID: <86shleatk3.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Hi, > This may be fixed by Gnulib commit > 480d374e596a0ee3fed168ab42cd84c313ad3c89 (not present in On gettext, commit 1afbcb06fded2a427b761dd1615b1e48e1e853cc seems to fix the problem. I ran three consecutive tests : --8<---------------cut here---------------start------------->8--- mathieu@elbruz /tmp/guix-build-gettext-next-0.19.8.1.drv-0/gettext-0.19.8.1$ time ./gettext-tools/gnulib-tests/.libs/test-lock Starting test_lock ... OK Starting test_rwlock ... OK Starting test_recursive_lock ... OK Starting test_once ... OK real 3m50.493s user 31m15.128s sys 6m15.440s mathieu@elbruz /tmp/guix-build-gettext-next-0.19.8.1.drv-0/gettext-0.19.8.1$ time ./gettext-tools/gnulib-tests/.libs/test-lock Starting test_lock ... OK Starting test_rwlock ... OK Starting test_recursive_lock ... OK Starting test_once ... OK real 4m11.575s user 34m10.304s sys 6m46.288s mathieu@elbruz /tmp/guix-build-gettext-next-0.19.8.1.drv-0/gettext-0.19.8.1$ time ./gettext-tools/gnulib-tests/.libs/test-lock Starting test_lock ... OK Starting test_rwlock ... OK Starting test_recursive_lock ... OK Starting test_once ... OK real 3m21.155s user 27m6.328s sys 5m27.248s --8<---------------cut here---------------end--------------->8--- Tests succeeds in a reasonable time and it can be backported to our version of gettext. However, I don't fully understand the difference between commit 1afbcb06fded2a427b761dd1615b1e48e1e853cc in gettext and commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in gnulib. Mathieu From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 12 Apr 2017 11:55:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149199805520524 (code B ref 26441); Wed, 12 Apr 2017 11:55:01 +0000 Received: (at 26441) by debbugs.gnu.org; 12 Apr 2017 11:54:15 +0000 Received: from localhost ([127.0.0.1]:43886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyGql-0005Ky-I7 for submit@debbugs.gnu.org; Wed, 12 Apr 2017 07:54:15 -0400 Received: from eggs.gnu.org ([208.118.235.92]:34339) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyGqk-0005Kj-8F for 26441@debbugs.gnu.org; Wed, 12 Apr 2017 07:54:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyGqd-0004RY-SH for 26441@debbugs.gnu.org; Wed, 12 Apr 2017 07:54:08 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42624) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cyGqW-0004O8-4g; Wed, 12 Apr 2017 07:54:00 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:40796 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cyGqV-000585-H3; Wed, 12 Apr 2017 07:53:59 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <871sszuznt.fsf@gnu.org> Date: Wed, 12 Apr 2017 13:53:57 +0200 In-Reply-To: <871sszuznt.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Tue, 11 Apr 2017 10:16:54 +0200") Message-ID: <878tn5et9m.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) ludo@gnu.org (Ludovic Court=C3=A8s) skribis: > This may be fixed by Gnulib commit > 480d374e596a0ee3fed168ab42cd84c313ad3c89 (not present in > gettext-0.19.8.1), which introduces this: > > --- a/tests/test-lock.c > +++ b/tests/test-lock.c > @@ -50,6 +50,13 @@ > Uncomment this to see if the operating system has a fair scheduler.= */ > #define EXPLICIT_YIELD 1 > > +/* Whether to use 'volatile' on some variables that communicate inform= ation > + between threads. If set to 0, a lock is used to protect these vari= ables. > + If set to 1, 'volatile' is used; this is theoretically equivalent b= ut can > + lead to much slower execution (e.g. 30x slower total run time on a = 40-core > + machine. */ > +#define USE_VOLATILE 0 > > 30x slower could exceed the default max-silent-timeout, which is 1 hour. Maybe not: building with --max-silent-time=3D18000 didn=E2=80=99t help=E2= =80=A6 Ludo=E2=80=99. From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 12 Apr 2017 12:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Bruno Haible Cc: Mathieu Othacehe , bug-gnulib@gnu.org, 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149199847921390 (code B ref 26441); Wed, 12 Apr 2017 12:02:01 +0000 Received: (at 26441) by debbugs.gnu.org; 12 Apr 2017 12:01:19 +0000 Received: from localhost ([127.0.0.1]:43900 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyGxb-0005Yw-Kz for submit@debbugs.gnu.org; Wed, 12 Apr 2017 08:01:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37294) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyGxa-0005Yi-Nq for 26441@debbugs.gnu.org; Wed, 12 Apr 2017 08:01:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyGxU-0007YI-Qq for 26441@debbugs.gnu.org; Wed, 12 Apr 2017 08:01:13 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42783) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cyGxC-0007JD-8r; Wed, 12 Apr 2017 08:00:54 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:40802 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cyGxB-0004KT-AE; Wed, 12 Apr 2017 08:00:53 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <871sszuznt.fsf@gnu.org> <86shleatk3.fsf@gmail.com> Date: Wed, 12 Apr 2017 14:00:50 +0200 In-Reply-To: <86shleatk3.fsf@gmail.com> (Mathieu Othacehe's message of "Wed, 12 Apr 2017 11:01:16 +0200") Message-ID: <87wpapdedp.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hello Gnulib, The =E2=80=98test-lock=E2=80=99 test as shipped with gettext-0.19.8.1 fails= to complete (or hangs?) on machines with 32+ cores, as reported here: https://bugs.gnu.org/26441 Does that ring a bell? Mathieu Othacehe found that this is fixed by gettext commit 1afbcb06fded2a427b761dd1615b1e48e1e853cc but writes: > However, I don't fully understand the difference between commit > 1afbcb06fded2a427b761dd1615b1e48e1e853cc in gettext and commit > 480d374e596a0ee3fed168ab42cd84c313ad3c89 in gnulib. Could you clarify this? Thanks in advance, Ludo=E2=80=99. From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: Bruno Haible Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 12 Apr 2017 14:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Mathieu Othacehe , bug-gnulib@gnu.org, 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.14920078285657 (code B ref 26441); Wed, 12 Apr 2017 14:38:02 +0000 Received: (at 26441) by debbugs.gnu.org; 12 Apr 2017 14:37:08 +0000 Received: from localhost ([127.0.0.1]:44539 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyJOO-0001TB-95 for submit@debbugs.gnu.org; Wed, 12 Apr 2017 10:37:08 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.219]:26193) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyJOM-0001T2-Kv for 26441@debbugs.gnu.org; Wed, 12 Apr 2017 10:37:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1492007825; l=1151; s=domk; d=clisp.org; h=Content-Type:Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Date:Subject:Cc:To:From; bh=ZG9oC0qsgbdv87ca9GtfFq0NpnPn6dmQFXLc7nSWHLw=; b=BTxt46bjlT/MtCtK5Q4Sy13CvX0A7pJplBuuTLqYXu2n28FMcR9lpt6Si4ESTjPO6V eoUAFzgkOtar07l/x01+QWqtXqwvyamw/b/XfrDnH7TiKc31j0NQQdKNPB0PEfSK4QRw FCElmT3r0DQuu2YFkTqyZQt7gyewyc/aDKaYE= X-RZG-AUTH: :Ln4Re0+Ic/6oZXR1YgKryK8brksyK8dozXDwHXjf9hj/zDNRavI44sA= X-RZG-CLASS-ID: mo00 Received: from bruno.haible.de (dslb-088-068-034-000.088.068.pools.vodafone-ip.de [88.68.34.0]) by smtp.strato.de (RZmta 40.4 DYNA|AUTH) with ESMTPSA id z0b089t3CEb4MXy (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (curve secp521r1 with 521 ECDH bits, eq. 15360 bits RSA)) (Client did not present a certificate); Wed, 12 Apr 2017 16:37:04 +0200 (CEST) From: Bruno Haible Date: Wed, 12 Apr 2017 16:37:03 +0200 Message-ID: <2008088.TpEHzIiNi8@omega> User-Agent: KMail/5.1.3 (Linux/4.4.0-71-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: <87wpapdedp.fsf@gnu.org> References: <871sszuznt.fsf@gnu.org> <86shleatk3.fsf@gmail.com> <87wpapdedp.fsf@gnu.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -3.5 (---) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.5 (---) Hi Ludo, > The =E2=80=98test-lock=E2=80=99 test as shipped with gettext-0.19.8.1 fai= ls to complete > (or hangs?) on machines with 32+ cores, as reported here: >=20 > https://bugs.gnu.org/26441 >=20 > Does that ring a bell? Yes, this is the bug that was investigated in December 2016 [1] and subsequently fixed [2]. > Mathieu Othacehe found that this is fixed by gettext commit > 1afbcb06fded2a427b761dd1615b1e48e1e853cc but writes: >=20 > > However, I don't fully understand the difference between commit > > 1afbcb06fded2a427b761dd1615b1e48e1e853cc in gettext and commit > > 480d374e596a0ee3fed168ab42cd84c313ad3c89 in gnulib. gettext contains two copies of test-lock.c, one from gnulib and a another one that doesn't use gnulib. The commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in gnulib fixed the first one. The commit 1afbcb06fded2a427b761dd1615b1e48e1e853cc in gettext fixed the second one, in the same way. Bruno [1] https://lists.gnu.org/archive/html/bug-gnulib/2016-12/msg00113.html [2] http://git.savannah.gnu.org/gitweb/?p=3Dgnulib.git;a=3Dcommitdiff;h=3D4= 80d374e596a0ee3fed168ab42cd84c313ad3c89 From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 12 Apr 2017 16:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Bruno Haible Cc: Mathieu Othacehe , bug-gnulib@gnu.org, 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149201350221929 (code B ref 26441); Wed, 12 Apr 2017 16:12:01 +0000 Received: (at 26441) by debbugs.gnu.org; 12 Apr 2017 16:11:42 +0000 Received: from localhost ([127.0.0.1]:44616 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyKru-0005hc-6w for submit@debbugs.gnu.org; Wed, 12 Apr 2017 12:11:42 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55233) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyKrt-0005hP-I3 for 26441@debbugs.gnu.org; Wed, 12 Apr 2017 12:11:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cyKrn-0005OS-BM for 26441@debbugs.gnu.org; Wed, 12 Apr 2017 12:11:36 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46755) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cyKrd-0005Mb-Td; Wed, 12 Apr 2017 12:11:25 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:41062 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cyKrd-00036Y-1P; Wed, 12 Apr 2017 12:11:25 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <871sszuznt.fsf@gnu.org> <86shleatk3.fsf@gmail.com> <87wpapdedp.fsf@gnu.org> <2008088.TpEHzIiNi8@omega> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 23 Germinal an 225 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Wed, 12 Apr 2017 18:11:22 +0200 In-Reply-To: <2008088.TpEHzIiNi8@omega> (Bruno Haible's message of "Wed, 12 Apr 2017 16:37:03 +0200") Message-ID: <87h91td2s5.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Bruno, Bruno Haible skribis: >> The =E2=80=98test-lock=E2=80=99 test as shipped with gettext-0.19.8.1 fa= ils to complete >> (or hangs?) on machines with 32+ cores, as reported here: >>=20 >> https://bugs.gnu.org/26441 >>=20 >> Does that ring a bell? > > Yes, this is the bug that was investigated in December 2016 [1] and > subsequently fixed [2]. > >> Mathieu Othacehe found that this is fixed by gettext commit >> 1afbcb06fded2a427b761dd1615b1e48e1e853cc but writes: >>=20 >> > However, I don't fully understand the difference between commit >> > 1afbcb06fded2a427b761dd1615b1e48e1e853cc in gettext and commit >> > 480d374e596a0ee3fed168ab42cd84c313ad3c89 in gnulib. > > gettext contains two copies of test-lock.c, one from gnulib and > a another one that doesn't use gnulib. > The commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in gnulib fixed > the first one. > The commit 1afbcb06fded2a427b761dd1615b1e48e1e853cc in gettext fixed > the second one, in the same way. OK, thanks for the explanation. I guess we=E2=80=99ll borrow the relevant patches. Ludo=E2=80=99. From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 06:40:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= , 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149206559317994 (code B ref 26441); Thu, 13 Apr 2017 06:40:01 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 06:39:53 +0000 Received: from localhost ([127.0.0.1]:44992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyYQ5-0004g8-1B for submit@debbugs.gnu.org; Thu, 13 Apr 2017 02:39:53 -0400 Received: from mail-wm0-f48.google.com ([74.125.82.48]:38366) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyYQ2-0004fo-LZ for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 02:39:51 -0400 Received: by mail-wm0-f48.google.com with SMTP id t189so39445647wmt.1 for <26441@debbugs.gnu.org>; Wed, 12 Apr 2017 23:39:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:subject:in-reply-to:date:message-id :mime-version; bh=ERfjnGhLRe/tzJRZf+gN9vPmcmIRIAT4tfz/Cgq/e20=; b=QKOGQz9NlwGH3LZ7NhaDP0zxh93TaJJiaJvXX52J77Jtd5ISDXogiNZ4ISIG7XPI+u VDSZ5AQKliKp+CBxWQsuqOcnySFnemU0XQFIddtk56ja58tHpMyqDDJtgD1joiKqPa/V /GdwIhm2TiRCmIGeiaRN2pLi/t56cV/7xSXYYlkWVjKewqnFMb0ft4jdMAREG/jW3LPH 6eS+d8VPIxxnccLWXcZ0FFQCSds/5xMumOw/23wiAy2MbLySq8eYdzCz/YPSCtKp39Cm Oyg5o7odKelN+T34t0G6XzHlFio4Lj+uttBZDwYu/jDZVHXnIgPTFtokqFh0sRILhaeO 6tlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:subject :in-reply-to:date:message-id:mime-version; bh=ERfjnGhLRe/tzJRZf+gN9vPmcmIRIAT4tfz/Cgq/e20=; b=Yihy7wV6TIaE4oQBA3fHN1o3ry88NnO0k+re3OuRdGzQvszSJwbby8GYzvjcseVf/O oHOSozXWamQ7zzVkByQ5+C//HYRiuI5L3pW4BwOkv/COJknCaQcL1bFdjvkxKO3zs6WE 7O2WODwjN0zfNoQPRaMxBb0uYYiAH2gPsm5h2/05Nb/eMy186mTZN+wqFI1cNI33fZAZ tbtej/a6p25RVDrThKzu0wCm1z2AHqxkKeO62sSLfde3UATDa7LHJ2OkgO9IKCCYizla zIc/Jspx2KH4UKTT7ADt4SFlIgV8s5kC85HDJL3WwXII5zA2YfKiGooNUEw5XJTuUfwh 0TnQ== X-Gm-Message-State: AN3rC/7XZlTqAzAuknKE+FLQTQPjgtmRIxLzyyX4w3mV3yVvuACVDTwf ZuAFmI6hfW0DoA== X-Received: by 10.28.173.65 with SMTP id w62mr1684396wme.48.1492065584715; Wed, 12 Apr 2017 23:39:44 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id i21sm937853wrc.50.2017.04.12.23.39.43 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Apr 2017 23:39:43 -0700 (PDT) References: <871sszuznt.fsf@gnu.org> <86shleatk3.fsf@gmail.com> <87wpapdedp.fsf@gnu.org> <2008088.TpEHzIiNi8@omega> <87h91td2s5.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe In-reply-to: <87h91td2s5.fsf@gnu.org> Date: Thu, 13 Apr 2017 08:39:55 +0200 Message-ID: <86poggbykk.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) --=-=-= Content-Type: text/plain Hi, Here's a patch for gettext, to solve test-lock performance issues. While rebuilding all gettext dependencies, I noticed that there are other programs impacted by this bug : * libunistring * coreutils * findutils But the list may be bigger : http://git.gnu.org.ua/cgit/gnulib.git/tree/users.txt Those users are embedding gnulib source code (via git submodules for example), so I'm not sure what to do here ... We can consider that it's not such a big deal and ignore this problem waiting for programs to integrate the fix, or we can patch them on core-updates. WDYT ? Thank you, Mathieu --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-gettext-Fix-make-check-issues-on-multi-core-mach.patch Content-Transfer-Encoding: 8bit >From e4ad9aa61fa75afa4417616de36cd25e9631fd67 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 12 Apr 2017 21:17:24 +0200 Subject: [PATCH] gnu: gettext: Fix make check issues on multi-core machines. * gnu/packages/patches/gettext-gnulib-multi-core.patch: New file. * gnu/packages/patches/gettext-multi-core.patch: New file. * gnu/packages/gettext.scm (gettext-minimal)[patches]: Add a reference to the two previous patches. --- gnu/packages/gettext.scm | 9 +- .../patches/gettext-gnulib-multi-core.patch | 176 ++++++++++++++++++++ gnu/packages/patches/gettext-multi-core.patch | 183 +++++++++++++++++++++ 3 files changed, 367 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/gettext-gnulib-multi-core.patch create mode 100644 gnu/packages/patches/gettext-multi-core.patch diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index f583d1c2c..2a749e3a6 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,7 +46,13 @@ version ".tar.gz")) (sha256 (base32 - "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z")))) + "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z")) + ;; test-lock has performance issues on multi-core machines, + ;; it hangs or takes a long time to complete. + ;; There is one commit in gettext and one commit + ;; in gettext's embedded gnulib to fix this issue. + (patches (search-patches "gettext-multi-core.patch" + "gettext-gnulib-multi-core.patch")))) (build-system gnu-build-system) (outputs '("out" "doc")) ;8 MiB of HTML diff --git a/gnu/packages/patches/gettext-gnulib-multi-core.patch b/gnu/packages/patches/gettext-gnulib-multi-core.patch new file mode 100644 index 000000000..4393f3a1b --- /dev/null +++ b/gnu/packages/patches/gettext-gnulib-multi-core.patch @@ -0,0 +1,176 @@ +This patch fixes performance problems on multi-core machines. +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in gnulib +from Bruno Haible . + +diff --git a/gettext-tools/gnulib-tests/test-lock.c b/gettext-tools/gnulib-tests/test-lock.c +index cb734b4e6..aa6de2739 100644 +--- a/gettext-tools/gnulib-tests/test-lock.c ++++ b/gettext-tools/gnulib-tests/test-lock.c +@@ -50,6 +50,13 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a lock is used to protect these variables. ++ If set to 1, 'volatile' is used; this is theoretically equivalent but can ++ lead to much slower execution (e.g. 30x slower total run time on a 40-core ++ machine. */ ++#define USE_VOLATILE 0 ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -103,6 +110,51 @@ + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -170,12 +222,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -200,7 +252,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -210,7 +263,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -254,12 +307,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -284,7 +337,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -295,7 +349,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -356,12 +410,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -386,7 +440,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -396,7 +451,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } diff --git a/gnu/packages/patches/gettext-multi-core.patch b/gnu/packages/patches/gettext-multi-core.patch new file mode 100644 index 000000000..3c7f0c759 --- /dev/null +++ b/gnu/packages/patches/gettext-multi-core.patch @@ -0,0 +1,183 @@ +This patch fixes performance problems on multi-core machines. +See commit 1afbcb06fded2a427b761dd1615b1e48e1e853cc in gettext +from Bruno Haible . + +diff --git a/gettext-runtime/tests/test-lock.c b/gettext-runtime/tests/test-lock.c +index d279d1d60..51cec3d6b 100644 +--- a/gettext-runtime/tests/test-lock.c ++++ b/gettext-runtime/tests/test-lock.c +@@ -1,5 +1,5 @@ + /* Test of locking in multithreaded situations. +- Copyright (C) 2005, 2008-2016 Free Software Foundation, Inc. ++ Copyright (C) 2005, 2008-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by +@@ -50,6 +50,13 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a lock is used to protect these variables. ++ If set to 1, 'volatile' is used; this is theoretically equivalent but can ++ lead to much slower execution (e.g. 30x slower total run time on a 40-core ++ machine. */ ++#define USE_VOLATILE 0 ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -214,6 +221,51 @@ static inline void * gl_thread_self_pointer (void) + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -281,12 +333,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -311,7 +363,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -321,7 +374,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -365,12 +418,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -395,7 +448,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -406,7 +460,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -467,12 +521,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -497,7 +551,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -507,7 +562,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } -- 2.11.1 --=-=-=-- From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 12:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Mathieu Othacehe Cc: 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.14920862505787 (code B ref 26441); Thu, 13 Apr 2017 12:25:01 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 12:24:10 +0000 Received: from localhost ([127.0.0.1]:45208 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cydnF-0001VF-1H for submit@debbugs.gnu.org; Thu, 13 Apr 2017 08:24:09 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59520) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cydnD-0001V3-GC for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 08:24:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cydn5-0001Y9-7h for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 08:24:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59509) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cydn5-0001Y5-3z; Thu, 13 Apr 2017 08:23:59 -0400 Received: from [193.50.110.130] (port=39214 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cydn4-0008T8-JR; Thu, 13 Apr 2017 08:23:58 -0400 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <871sszuznt.fsf@gnu.org> <86shleatk3.fsf@gmail.com> <87wpapdedp.fsf@gnu.org> <2008088.TpEHzIiNi8@omega> <87h91td2s5.fsf@gnu.org> <86poggbykk.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 24 Germinal an 225 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Thu, 13 Apr 2017 14:23:56 +0200 In-Reply-To: <86poggbykk.fsf@gmail.com> (Mathieu Othacehe's message of "Thu, 13 Apr 2017 08:39:55 +0200") Message-ID: <87poggqyw3.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Mathieu, Mathieu Othacehe skribis: > Here's a patch for gettext, to solve test-lock performance issues. Awesome. > While rebuilding all gettext dependencies, I noticed that there are > other programs impacted by this bug : > > * libunistring > * coreutils > * findutils Coreutils 8.27 was released very recently so it probably already has the =E2=80=98test-lock=E2=80=99 fix. But yeah, there are many other GNU packag= es that possibly include it, although not all of them depend on this specific Gnulib module. > We can consider that it's not such a big deal and ignore this problem > waiting for programs to integrate the fix, or we can patch them on > core-updates. > > WDYT ? Maybe we can simply patch the important packages (findutils, libunistring) and wait and see if others need the patch. Not ideal, but I can=E2=80=99t think of a better way. > From e4ad9aa61fa75afa4417616de36cd25e9631fd67 Mon Sep 17 00:00:00 2001 > From: Mathieu Othacehe > Date: Wed, 12 Apr 2017 21:17:24 +0200 > Subject: [PATCH] gnu: gettext: Fix make check issues on multi-core machin= es. > > * gnu/packages/patches/gettext-gnulib-multi-core.patch: New file. > * gnu/packages/patches/gettext-multi-core.patch: New file. > * gnu/packages/gettext.scm (gettext-minimal)[patches]: Add a reference > to the two previous patches. [...] > --- /dev/null > +++ b/gnu/packages/patches/gettext-gnulib-multi-core.patch > @@ -0,0 +1,176 @@ > +This patch fixes performance problems on multi-core machines. > +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in gnulib > +from Bruno Haible . I added the reference to and pushed. Thank you! Ludo=E2=80=99. From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 16:32:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149210109023333 (code B ref 26441); Thu, 13 Apr 2017 16:32:02 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 16:31:30 +0000 Received: from localhost ([127.0.0.1]:45875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyheb-00064H-QY for submit@debbugs.gnu.org; Thu, 13 Apr 2017 12:31:29 -0400 Received: from mail-wr0-f178.google.com ([209.85.128.178]:34194) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyheZ-000643-Ei for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 12:31:27 -0400 Received: by mail-wr0-f178.google.com with SMTP id z109so38920019wrb.1 for <26441@debbugs.gnu.org>; Thu, 13 Apr 2017 09:31:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=NfwQHcbhcLG4v3/3/ICMYr8Jj6zpDxzo8E0pOItMSYQ=; b=rOaz0Gi7NjzbjWjU74bm8y51uk3T0SWO4AsVnn+MaqC4WBMkxS4+MerlMLWQiZ6j75 NjlzJkU27Zlt/6ZSIRRnQxvpWWi2uRb/NVaMEhaJF0ma0fXN8MJx6InsNXF4tIwEczuP HzwfpIRxJVhC4b2HvVBDgtgF+4NMku6fB2W++mMECqhk0KS7dgRzN91bKYyE5JUUa2Dt MXSeyDa4FO0Fvob8vCaQC2ax0Fs9rtdtGn1BelHhisMjVEq8tKpxEMUh+X75ppl/OuEB 6n2ei36OltgEcPFAgQIRBG4CIvRlJ8VvppIblBaUpp0coksvk5XLy3as6oDrMzqTjc8k 8IPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=NfwQHcbhcLG4v3/3/ICMYr8Jj6zpDxzo8E0pOItMSYQ=; b=p6vHsAR8vYlhudGgFdyQqhloCw9kzFTImZaAnx0fPg9boDW8QTxZtdBFB/3ZjWYQ1N ZXFooxbZzeQaxDEDKh2raNAzm4DzYWRQTskeYVPIpX7xjikS+myLJRAGy6AatT/FI0co mELGQCVlccUGxzvZpE2uvAXPFuWTev7NqSnCMDKxmSzkzJGSo9lxmAAy/JU/MvZ0zG/i 5sgpRVDWPVytqCao599R+NPRG9VSuUVKxvpsCU+FViaII1KR/PTbfFSdEbpazrtO5ZQS 2jueXPYVKbKX2dJyC38VZG954zlxH3Pq6204rUq+H9lpjTcnMhhA4PfRtcBCtU0aKPR0 VszA== X-Gm-Message-State: AN3rC/6bNNiXYbc7MKPnALP1lcNZu//h4S+S5djbF5Mc9EODKPcM/7bm 6+RnHBpySK68S27Q X-Received: by 10.223.160.48 with SMTP id k45mr3777631wrk.153.1492101081536; Thu, 13 Apr 2017 09:31:21 -0700 (PDT) Received: from cervin (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id j2sm12777066wrd.28.2017.04.13.09.31.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 13 Apr 2017 09:31:20 -0700 (PDT) References: <871sszuznt.fsf@gnu.org> <86shleatk3.fsf@gmail.com> <87wpapdedp.fsf@gnu.org> <2008088.TpEHzIiNi8@omega> <87h91td2s5.fsf@gnu.org> <86poggbykk.fsf@gmail.com> <87poggqyw3.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe In-reply-to: <87poggqyw3.fsf@gnu.org> Date: Thu, 13 Apr 2017 18:31:20 +0200 Message-ID: <871sswjmlj.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.8 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) > Maybe we can simply patch the important packages (findutils, > libunistring) and wait and see if others need the patch. Not ideal, but > I can’t think of a better way. Ok fine for me. I'll send findutils and libunistring patches for now. Thanks, Mathieu From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH] gnu: libunistring: Fix make check issues on multi-core machines. References: <871sszuznt.fsf@gnu.org> In-Reply-To: <871sszuznt.fsf@gnu.org> Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 16:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149210124423567 (code B ref 26441); Thu, 13 Apr 2017 16:35:02 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 16:34:04 +0000 Received: from localhost ([127.0.0.1]:45880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyhh6-000682-82 for submit@debbugs.gnu.org; Thu, 13 Apr 2017 12:34:04 -0400 Received: from mail-wr0-f182.google.com ([209.85.128.182]:33190) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyhh5-00067Z-3w for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 12:34:03 -0400 Received: by mail-wr0-f182.google.com with SMTP id l28so38936583wre.0 for <26441@debbugs.gnu.org>; Thu, 13 Apr 2017 09:34:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6mJi+48h1zfsJ6ce1XTnJnSLBVyGpwE3y0JZHeMFBYs=; b=ZAnmL9oa7APL1nw5rMgo5J3gaZdkky8E3YI2g9UG8LfTF14jmmzwndDDtrcFtPt4tZ DjHKEUA3gQYU43VPhE7k8ZrKCMSI/Pd4HD3cvHWe1+ACoecFy/f3N4m3VjzmNTJz2pre obK2tUVAP0eKZeH7KJjc5aGEX4SZsbXDCVxUYyUEOxRqW0/5wD2a1ZdTMyieihkVGTVe Vumhu6r3b3J8YlI3AS8u0fcgytnlKby0RrF/kTIp2xF25frahcx1NXTQvEnVhQ5wwQUa bjcOCl6x0gOSiBfywChy6B3ydpYrniivFwQmANp6ybJgJGKpFxs3kmxcj3OoZjb/11KU mgwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6mJi+48h1zfsJ6ce1XTnJnSLBVyGpwE3y0JZHeMFBYs=; b=XaBX9THHC/IQxkIMo2IGWu9CeDrFu6bIOdEg/nM7lsz4dUr0ii2mVwBWv39fYQnCFV GKx8tme6B/XX5orba0PMtSYs6FljHM+vwYfV5GhvKjNxR7uOhJAtGEhnVi8HY12w5IM1 IAPG4lGWNds9OzYrDuslgYxDj6QvwKNUg7bZcnLzIpivprWjvuXjd49egD1XdfANAPGK xtjb5CJDjw1JX71BGPAvY0d6OSaa67eJ0TiiZ1WYY0n2Op5yA5OlLzIUpJufUQn2AMl5 0hIwrVAaGyEnerz4wuWlajiQvEVw54sFr3Spi3z8iobEHNZn8abquWEkjiokjEax5B0c N8qg== X-Gm-Message-State: AN3rC/42dpJU/DTpl083MEQxW8rA13WA0q8Mz0A8DUf8sfcAC7Gypl67 +T0HgGR8CVnJog== X-Received: by 10.223.175.23 with SMTP id z23mr4146058wrc.84.1492101237345; Thu, 13 Apr 2017 09:33:57 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id g11sm15320339wrd.11.2017.04.13.09.33.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Apr 2017 09:33:56 -0700 (PDT) From: Mathieu Othacehe Date: Thu, 13 Apr 2017 18:33:40 +0200 Message-Id: <20170413163340.17497-1-m.othacehe@gmail.com> X-Mailer: git-send-email 2.12.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.8 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) * gnu/packages/patches/libunistring-gnulib-multi-core.patch: New file. * gnu/packages/libunistring.scm (libunistring)[patches]: Add a reference to previous patch. --- gnu/packages/libunistring.scm | 8 +- .../patches/libunistring-gnulib-multi-core.patch | 178 +++++++++++++++++++++ 2 files changed, 185 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libunistring-gnulib-multi-core.patch diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm index 212bec4b4..df02f68ce 100644 --- a/gnu/packages/libunistring.scm +++ b/gnu/packages/libunistring.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages base)) (define-public libunistring @@ -37,7 +39,11 @@ version ".tar.xz")) (sha256 (base32 - "15z76qrmrvkc3c6hfq2lzzqysgd21s682f2smycfab5g598n8drf")))) + "15z76qrmrvkc3c6hfq2lzzqysgd21s682f2smycfab5g598n8drf")) + ;; test-lock has performance issues on multi-core machines, + ;; it hangs or takes a long time to complete. + ;; This is a commit from gnulib to fix this issue. + (patches (search-patches "libunistring-gnulib-multi-core.patch")))) (propagated-inputs (libiconv-if-needed)) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/patches/libunistring-gnulib-multi-core.patch b/gnu/packages/patches/libunistring-gnulib-multi-core.patch new file mode 100644 index 000000000..709b20c6d --- /dev/null +++ b/gnu/packages/patches/libunistring-gnulib-multi-core.patch @@ -0,0 +1,178 @@ +This patch fixes performance problems on multi-core machines +as reported at . + +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in Gnulib +by Bruno Haible . + +diff --git a/tests/test-lock.c b/tests/test-lock.c +index cb734b4e6..aa6de2739 100644 +--- a/tests/test-lock.c ++++ b/tests/test-lock.c +@@ -50,6 +50,13 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a lock is used to protect these variables. ++ If set to 1, 'volatile' is used; this is theoretically equivalent but can ++ lead to much slower execution (e.g. 30x slower total run time on a 40-core ++ machine. */ ++#define USE_VOLATILE 0 ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -103,6 +110,51 @@ + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -170,12 +222,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -200,7 +252,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -210,7 +263,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -254,12 +307,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -284,7 +337,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -295,7 +349,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -356,12 +410,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -386,7 +440,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -396,7 +451,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } -- 2.12.2 From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH] gnu: findutils: Fix make check issues on multi-core machines. References: <871sszuznt.fsf@gnu.org> In-Reply-To: <871sszuznt.fsf@gnu.org> Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 16:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149210126823605 (code B ref 26441); Thu, 13 Apr 2017 16:35:02 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 16:34:28 +0000 Received: from localhost ([127.0.0.1]:45883 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyhhT-00068d-Mt for submit@debbugs.gnu.org; Thu, 13 Apr 2017 12:34:28 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:33396) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyhhR-00068R-N2 for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 12:34:26 -0400 Received: by mail-wm0-f68.google.com with SMTP id o81so13517421wmb.0 for <26441@debbugs.gnu.org>; Thu, 13 Apr 2017 09:34:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=dyszPsEOKFFwkq50xtEavwnI6opz9MTcHZTmN9JfLRY=; b=bsU3C0mPSCv3Eopsvp+CSzjKhezvcHtwx5GOSGZTy8LyDeLqVq9ab/7iI0MHj7SsCO afT/7TyiLzlgMnW50i7j6K282SC5mROEiv0xdJwzzI8H30ksAuMQWVo63fu1F812oNoj esYD0+aBpEcv4wGZdaDQCebzJ3A97VNEm5+wY589jwKmbpnz/uJdkKUNrK4aX3VDEJ8y V6JGSoJhckQlVqUa+IE/8kivCxjwq3Ua/TE+tyamqEAf5HM8Xxx0RHiAMEQI5ONZwFwb Zs0iTnaYJYJ+JwFRt40Z+o0GivX3iVjdmC0nq1prYhv7e+/dVcimCuQHvsqAE5DYLV92 eWrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=dyszPsEOKFFwkq50xtEavwnI6opz9MTcHZTmN9JfLRY=; b=MK1sAnwU/2dKgB+ElS1cYFqtNnVuLozaA1LA0chY7ziFsX8NIK43BGWt0X71DUVJN0 NOqO83xEkmyfO1hz3eebpEsAzaOqHLthq+plKlggz5gv4Ypo0iqc2NY8XZIhCLnbGtBZ 7Y7STN8FO9WtJfhYyXxfxnsS31pfGbZJyTTkayaaGtbattkVqLLLlDo2GqBzeU/Yi3RR wsP+YRZYjXwwmU//zy+S6CJxfuMNCXjiCkUwTWQODCAZzHj/FCZWPMOarQUdTGGAtOJe R+lWWnrccMxnvWlnml6ceL4RKBqrcAri/zG0UUQy1D/5ubM6BeI7F9rQ3wNV0tDRrL5E tlsg== X-Gm-Message-State: AN3rC/4lJsr/lAjREc5QxUVbx7xo8mjnPj+r7KXPP6B6XKsTOB0ehM7G E6nOeOWhDvVZHSLB X-Received: by 10.28.156.13 with SMTP id f13mr12958985wme.44.1492101259558; Thu, 13 Apr 2017 09:34:19 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id w10sm11121962wmw.14.2017.04.13.09.34.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Apr 2017 09:34:18 -0700 (PDT) From: Mathieu Othacehe Date: Thu, 13 Apr 2017 18:34:08 +0200 Message-Id: <20170413163408.17571-1-m.othacehe@gmail.com> X-Mailer: git-send-email 2.12.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) * gnu/packages/patches/findutils-gnulib-multi-core.patch: New file. * gnu/packages/base.scm (findutils)[patches]: Add a reference to the previous patch. --- gnu/packages/base.scm | 60 +++-- .../patches/findutils-gnulib-multi-core.patch | 294 +++++++++++++++++++++ 2 files changed, 327 insertions(+), 27 deletions(-) create mode 100644 gnu/packages/patches/findutils-gnulib-multi-core.patch diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 7bcfd7a2e..e620d9cea 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Rene Saavedra +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -250,38 +251,43 @@ interactive means to merge two files.") (define-public findutils (package - (name "findutils") - (version "4.6.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/findutils/findutils-" - version ".tar.gz")) - (sha256 - (base32 - "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) - (patches (search-patches "findutils-localstatedir.patch" - "findutils-test-xargs.patch")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags (list - ;; Tell 'updatedb' to write to /var. - "--localstatedir=/var" - - ;; Work around cross-compilation failure. See - ;; . - ,@(if (%current-target-system) - '("gl_cv_func_wcwidth_works=yes") - '())))) - (synopsis "Operating on files matching given criteria") - (description - "Findutils supplies the basic file directory searching utilities of the + (name "findutils") + (version "4.6.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/findutils/findutils-" + version ".tar.gz")) + (sha256 + (base32 + "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) + (patches (search-patches + "findutils-localstatedir.patch" + "findutils-test-xargs.patch" + ;; test-lock has performance issues on multi-core + ;; machines, it hangs or takes a long time to complete. + ;; This is a commit from gnulib to fix this issue. + "findutils-gnulib-multi-core.patch")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list + ;; Tell 'updatedb' to write to /var. + "--localstatedir=/var" + + ;; Work around cross-compilation failure. See + ;; . + ,@(if (%current-target-system) + '("gl_cv_func_wcwidth_works=yes") + '())))) + (synopsis "Operating on files matching given criteria") + (description + "Findutils supplies the basic file directory searching utilities of the GNU system. It consists of two primary searching utilities: \"find\" recursively searches for files in a directory according to given criteria and \"locate\" lists files in a database that match a query. Two auxiliary tools are included: \"updatedb\" updates the file name database and \"xargs\" may be used to apply commands with arbitrarily long arguments.") - (license gpl3+) - (home-page "https://www.gnu.org/software/findutils/"))) + (license gpl3+) + (home-page "https://www.gnu.org/software/findutils/"))) (define-public coreutils (package diff --git a/gnu/packages/patches/findutils-gnulib-multi-core.patch b/gnu/packages/patches/findutils-gnulib-multi-core.patch new file mode 100644 index 000000000..5a37f4f1f --- /dev/null +++ b/gnu/packages/patches/findutils-gnulib-multi-core.patch @@ -0,0 +1,294 @@ +This patch fixes performance problems on multi-core machines +as reported at . + +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in Gnulib +by Bruno Haible . + +diff --git a/tests/test-lock.c b/tests/test-lock.c +index a992f64..fb18dee 100644 +--- a/tests/test-lock.c ++++ b/tests/test-lock.c +@@ -1,5 +1,5 @@ + /* Test of locking in multithreaded situations. +- Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc. ++ Copyright (C) 2005, 2008-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -50,6 +50,28 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a semaphore or a lock is used to protect ++ these variables. If set to 1, 'volatile' is used; this is theoretically ++ equivalent but can lead to much slower execution (e.g. 30x slower total ++ run time on a 40-core machine), because 'volatile' does not imply any ++ synchronization/communication between different CPUs. */ ++#define USE_VOLATILE 0 ++ ++#if USE_POSIX_THREADS && HAVE_SEMAPHORE_H ++/* Whether to use a semaphore to communicate information between threads. ++ If set to 0, a lock is used. If set to 1, a semaphore is used. ++ Uncomment this to reduce the dependencies of this test. */ ++# define USE_SEMAPHORE 1 ++/* Mac OS X provides only named semaphores (sem_open); its facility for ++ unnamed semaphores (sem_init) does not work. */ ++# if defined __APPLE__ && defined __MACH__ ++# define USE_NAMED_SEMAPHORE 1 ++# else ++# define USE_UNNAMED_SEMAPHORE 1 ++# endif ++#endif ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -90,6 +112,12 @@ + + #include "glthread/thread.h" + #include "glthread/yield.h" ++#if USE_SEMAPHORE ++# include ++# include ++# include ++# include ++#endif + + #if ENABLE_DEBUGGING + # define dbgprintf printf +@@ -103,6 +131,132 @@ + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#elif USE_SEMAPHORE ++/* This atomic_int implementation can only support the values 0 and 1. ++ It is initially 0 and can be set to 1 only once. */ ++# if USE_UNNAMED_SEMAPHORE ++struct atomic_int { ++ sem_t semaphore; ++}; ++#define atomic_int_semaphore(ai) (&(ai)->semaphore) ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ sem_init (&ai->semaphore, 0, 0); ++} ++# endif ++# if USE_NAMED_SEMAPHORE ++struct atomic_int { ++ sem_t *semaphore; ++}; ++#define atomic_int_semaphore(ai) ((ai)->semaphore) ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ sem_t *s; ++ unsigned int count; ++ for (count = 0; ; count++) ++ { ++ char name[80]; ++ /* Use getpid() in the name, so that different processes running at the ++ same time will not interfere. Use ai in the name, so that different ++ atomic_int in the same process will not interfere. Use a count in ++ the name, so that even in the (unlikely) case that a semaphore with ++ the specified name already exists, we can try a different name. */ ++ sprintf (name, "test-lock-%lu-%p-%u", ++ (unsigned long) getpid (), ai, count); ++ s = sem_open (name, O_CREAT | O_EXCL, 0600, 0); ++ if (s == SEM_FAILED) ++ { ++ if (errno == EEXIST) ++ /* Retry with a different name. */ ++ continue; ++ else ++ { ++ perror ("sem_open failed"); ++ abort (); ++ } ++ } ++ else ++ { ++ /* Try not to leave a semaphore hanging around on the file system ++ eternally, if we can avoid it. */ ++ sem_unlink (name); ++ break; ++ } ++ } ++ ai->semaphore = s; ++} ++# endif ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ if (sem_trywait (atomic_int_semaphore (ai)) == 0) ++ { ++ if (sem_post (atomic_int_semaphore (ai))) ++ abort (); ++ return 1; ++ } ++ else if (errno == EAGAIN) ++ return 0; ++ else ++ abort (); ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ if (new_value == 0) ++ /* It's already initialized with 0. */ ++ return; ++ /* To set the value 1: */ ++ if (sem_post (atomic_int_semaphore (ai))) ++ abort (); ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -170,12 +324,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -200,7 +354,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -210,7 +365,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -254,12 +409,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -284,7 +439,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -295,7 +451,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -356,12 +512,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -386,7 +542,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -396,7 +553,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } -- 2.11.1 From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH] gnu: findutils: Fix make check issues on multi-core machines. Resent-From: Marius Bakke Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 19:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Mathieu Othacehe , 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149211233022148 (code B ref 26441); Thu, 13 Apr 2017 19:39:01 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 19:38:50 +0000 Received: from localhost ([127.0.0.1]:46063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cykZu-0005lA-HF for submit@debbugs.gnu.org; Thu, 13 Apr 2017 15:38:50 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:46185) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cykZs-0005l1-VR for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 15:38:49 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id A0DBD209F3; Thu, 13 Apr 2017 15:38:48 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute5.internal (MEProxy); Thu, 13 Apr 2017 15:38:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=fm1; bh=eqVd1w29e/DyGmYhUrCshZIrPT7ecZLRM/uQ8ZQgq AU=; b=qNWl03Nhff4ePW3DTBxhtn7wA5hhNUleaW1N4Dq/ipucOKtQi856NvqfM sRg6UuP/ItjUbaUpzHqGvR199KksdchmsT3G/+AgLL1w40XS3B+7yj7BKy5wmqWH rDOO+/HRyc7/vQircRXDUfmjEQGrRZF51VVtjc5JY+gQZgWQnCyBIdwjWEKqkHOp yYQkJ1kR0p4dC8B2dGnqfmtbTCfN9EAOQjEEROm8QlljXyO4DV8jjLkpsBeGE+bC qcgX4gDz/6X6IT8rfnYBZQW6Oz60S523TUWKPTP4QLoZRkrw0arWdlNFnU2OBHml NGWXSSKlfINn+aXF0mZaScYMTt2uA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=eqVd1w29e/DyGmYhUr CshZIrPT7ecZLRM/uQ8ZQgqAU=; b=fKv/fG038PX4SScIySgjXGbphWwrCtSWm7 KdylC/8bm8bbhLwv9JbRK0Rg69/7Iwrw3lfZECAavH4x272NgMKvxnrs7KnM38QW z89RNPdPdkMLHsHSv3ZDgf5bjx364rh70/WeD9OQ6no1gY12EkmVIufdsKbr5Shm Z4cx588QupnlxiyHbpX3JhdKNfsH7fna4Jxvx2iyWCU75/b8wglEgOJbOuaYoTbn rkMHLL7tub4FZUTxqB41qp0MA5ILT9nbbE3Eg7tFGG3/QmR5rfo7AcfBs3l1U6cc Oc4lU800PQ9+Y/2cA8O7YNKMnDPAF8s0lVFH2druKHS1tJ7o4k8w== X-ME-Sender: X-Sasl-enc: vrk9C5FctkbfrVp12p+7FWqq7q15TY8YY9A3nrtzDacE 1492112328 Received: from localhost (unknown [188.113.81.93]) by mail.messagingengine.com (Postfix) with ESMTPA id 387EB7E2B0; Thu, 13 Apr 2017 15:38:48 -0400 (EDT) From: Marius Bakke In-Reply-To: <20170413163408.17571-1-m.othacehe@gmail.com> References: <871sszuznt.fsf@gnu.org> <20170413163408.17571-1-m.othacehe@gmail.com> User-Agent: Notmuch/0.24.1 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-unknown-linux-gnu) Date: Thu, 13 Apr 2017 21:38:46 +0200 Message-ID: <8737dc9jy1.fsf@fastmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi, thanks for working on these! [...] =20=20 > (define-public findutils > (package > - (name "findutils") > - (version "4.6.0") > - (source (origin > - (method url-fetch) > - (uri (string-append "mirror://gnu/findutils/findutils-" > - version ".tar.gz")) > - (sha256 > - (base32 > - "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) > - (patches (search-patches "findutils-localstatedir.patch" > - "findutils-test-xargs.patch")))) > - (build-system gnu-build-system) > - (arguments > - `(#:configure-flags (list > - ;; Tell 'updatedb' to write to /var. > - "--localstatedir=3D/var" > - > - ;; Work around cross-compilation failure. See > - ;; . > - ,@(if (%current-target-system) > - '("gl_cv_func_wcwidth_works=3Dyes") > - '())))) > - (synopsis "Operating on files matching given criteria") > - (description > - "Findutils supplies the basic file directory searching utilities of = the > + (name "findutils") > + (version "4.6.0") > + (source (origin > + (method url-fetch) > + (uri (string-append "mirror://gnu/findutils/findutils-" > + version ".tar.gz")) > + (sha256 > + (base32 > + "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) > + (patches (search-patches > + "findutils-localstatedir.patch" > + "findutils-test-xargs.patch" > + ;; test-lock has performance issues on multi-core > + ;; machines, it hangs or takes a long time to co= mplete. > + ;; This is a commit from gnulib to fix this issu= e. > + "findutils-gnulib-multi-core.patch")))) Please don't mix large indentation changes with functional changes. It is really difficult to tell what this commit does. Can you split the indentation change out in a separate commit? --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAljv08YACgkQoqBt8qM6 VPrICgf/VilyyNjEuaKUjp88q7JOBeMocu9Lby3M9oRiLwOZzSkCsUQUV5BslX0a YI7zmvamW8LJAD0W7wZZYc35+VaeJhbBUsEHevUMcdazfZXc6Uxwh4nzvcNs3Hdu hc1vNquIJZd74PbdfqZQlyF+0O0SgnzFYtEC9E4N1F67CFkg5QeigLKZ0ow2rpeu A+o2en1yuKJTbU+vNSZvR6ZB2n1uvf5AdrGng5Zq5pdeS3FkNEb+hXzDH93ke/W4 A1UdZPyi3jyiB8lchsirwi8C2x4ekOuCDwcz879yzlO51udNuWeHj42SvhIyY44M FiDZHAjRnH4BjvFgk6tGHyXbv/rnbg== =EU6l -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH] gnu: findutils: Fix make check issues on multi-core machines. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 20:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Marius Bakke Cc: 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149211387124544 (code B ref 26441); Thu, 13 Apr 2017 20:05:02 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 20:04:31 +0000 Received: from localhost ([127.0.0.1]:46090 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cykyl-0006No-M6 for submit@debbugs.gnu.org; Thu, 13 Apr 2017 16:04:31 -0400 Received: from mail-wr0-f193.google.com ([209.85.128.193]:35740) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cykyi-0006Na-P6 for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 16:04:29 -0400 Received: by mail-wr0-f193.google.com with SMTP id l44so10127920wrc.2 for <26441@debbugs.gnu.org>; Thu, 13 Apr 2017 13:04:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=vmKqcdPCZG7/zHLgSCnSxEWvIoeEv3DztyeJz8oWpTw=; b=HBVVpS9FqS9xQmZsrgToahd+PZ8JXCuvGS5PwcpAOSL0odbLbVoHqnk6kIWj3TPf9J ddZfoHHUqCRu3zie9mskYKAjju7K+wV3XN3wOIhzRoVdQJ0xmPInUqvcH2VlOVFNHqRJ 2c5+72+DBjSfjZfjsWyCoqk5i3ZfjUHkELkhL+DibPWwgCJxojcMxAY+jGYG7OZSpYQy D0nFaBRfgonC5+6gUdkZ1P34jV1mgwhA04ltaJfJSEsCUrBdRWShdYo9BhitedbFjcew VkRjs4SLFwfZyevliOB9l2pneghCT8MgLkTntQg/oA7j/wqLShsVQPPqKO37lV4Fip1r 6f3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=vmKqcdPCZG7/zHLgSCnSxEWvIoeEv3DztyeJz8oWpTw=; b=Qn0rFN1i22LUgbXU3AwePsvX6OgVpcvtwhsxabgTOKLZJYzwvV45HXGN+Yklj9YMva /sUO0ChWFECbmoS1PlIJl0l3KajhQ74JNWJe0qgQ6U5fnHnMcya4/Kr6ZOR8+0lQbFoL Ex13++6fLyVeOncCKhWJyMN5yMwbNZu+5CMIIykbiknob3A5bDXSsFVEXSHH2nsCnoqr bGU0Iu2lPdOYmDpK1uf/9vUe6wk1zlVr67MaYbG89SAlg0Na0EJEi86HbeMsr2BUdAzZ sCPesAlDEkTJJrhsuTMfVPjkfYoyQlJTA5N3zUz5v9L2xnjD8sQb/ecEp+dLufcpi2Zs w1kA== X-Gm-Message-State: AN3rC/7dBXXELl7fftj3GDkm4RnvEZoE3GwYG8jg3k5/ZXYaLf+6FZtK 7aAYF9rh1z7Uhw== X-Received: by 10.223.131.229 with SMTP id 92mr4284964wre.181.1492113862461; Thu, 13 Apr 2017 13:04:22 -0700 (PDT) Received: from cervin (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id u66sm76835wmd.24.2017.04.13.13.04.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 13 Apr 2017 13:04:21 -0700 (PDT) References: <871sszuznt.fsf@gnu.org> <20170413163408.17571-1-m.othacehe@gmail.com> <8737dc9jy1.fsf@fastmail.com> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe In-reply-to: <8737dc9jy1.fsf@fastmail.com> Date: Thu, 13 Apr 2017 22:04:20 +0200 Message-ID: <87zifkhy63.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.8 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) Hi Marius, > Please don't mix large indentation changes with functional changes. It > is really difficult to tell what this commit does. Can you split the > indentation change out in a separate commit? Sure, I'll send new patches. Mathieu From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH 1/2] gnu: findutils: Fix make check issues on multi-core machines. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 20:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149211401624797 (code B ref 26441); Thu, 13 Apr 2017 20:07:01 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 20:06:56 +0000 Received: from localhost ([127.0.0.1]:46102 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyl15-0006Rt-Lg for submit@debbugs.gnu.org; Thu, 13 Apr 2017 16:06:55 -0400 Received: from mail-wm0-f48.google.com ([74.125.82.48]:37178) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyl12-0006Re-Np for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 16:06:54 -0400 Received: by mail-wm0-f48.google.com with SMTP id u2so54211591wmu.0 for <26441@debbugs.gnu.org>; Thu, 13 Apr 2017 13:06:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8H+uJNj9CZSXLZeP2SYWrD9LD6qt4PT40txIDrOuzO0=; b=qpfqb5K+FyCkEPSjUOXet9fQ6l3Pq/261ThHk29Q7zKkdOYkFC62NGjMRsib6aBjbR AeH4aMY2hkPpxFfnpUG1/NHX+kDoW4JojU4Yfo8kG8qfnieT3U5lqgyVsAe8EsU9TV/n wXBJcMMeihuw5QLuZPLSr+EsbChrzNSsQtlmVVwZKNz5P34yEz4wsRnuvlr13cgxxdb3 kjgDSoHSMGMxK63S7W598+JMytF/EjPAt8/J/uxfijWNmBL7j9xgnZg1YMjEmAENoRKD m9l22grctG0psGsWWm+4HwVXJsF9zKtQrweG7sDLT7p9QvMDxljsy072BfgjyhrHuHVP pGpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8H+uJNj9CZSXLZeP2SYWrD9LD6qt4PT40txIDrOuzO0=; b=bk6fPLiUs+r+a5RLOMIAZF/AcR1xu0sQUgAcDLkWIKY1Lpcuus5Ol1ezNuZa+x3fUz 04R8iwlJHH6f2LGitNgEuuGP0yqTB6a6UozkDHRcr6+A7Q/k/aEC1x8pyLRfNGZoyRDw DaTCtGLbHy6rAbPLmrVTBvUsko5Enut3CKnTi5aEg4n2icm5CFwdioZwLZP/Pmy4LwZw LHmLr4dlLeUTiQrzGW+vUcA42ZCuXJJmM0F4aYha7iczJ17k1XwLPE+n1syTsq7Cu029 9cKEbA1TvQE4g3eVUFy38GB5soo5kd7inbSki0YNN1LWTQM3V0ies/w2GUrMQUw+b7DZ xc9g== X-Gm-Message-State: AN3rC/5IiBoTExhpAjUY1oySZ53IIxdYZ1JUJ4eFp0OxHXai80Z5QEk+ CvJePWRlX2wleQ== X-Received: by 10.28.58.11 with SMTP id h11mr5033731wma.60.1492114007043; Thu, 13 Apr 2017 13:06:47 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id j32sm25062343wre.67.2017.04.13.13.06.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Apr 2017 13:06:46 -0700 (PDT) From: Mathieu Othacehe Date: Thu, 13 Apr 2017 22:06:35 +0200 Message-Id: <20170413200636.8332-1-m.othacehe@gmail.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <8737dc9jy1.fsf@fastmail.com> References: <8737dc9jy1.fsf@fastmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) * gnu/packages/patches/findutils-gnulib-multi-core.patch: New file. * gnu/packages/base.scm (findutils)[patches]: Add a reference to the previous patch. --- gnu/packages/base.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 7bcfd7a2e..1ae3c8911 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Rene Saavedra +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -259,8 +260,13 @@ interactive means to merge two files.") (sha256 (base32 "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) - (patches (search-patches "findutils-localstatedir.patch" - "findutils-test-xargs.patch")))) + (patches (search-patches + "findutils-localstatedir.patch" + "findutils-test-xargs.patch" + ;; test-lock has performance issues on multi-core + ;; machines, it hangs or takes a long time to complete. + ;; This is a commit from gnulib to fix this issue. + "findutils-gnulib-multi-core.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list -- 2.12.2 From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH 2/2] gnu: findutils: Reindent package definition. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 13 Apr 2017 20:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149211402324841 (code B ref 26441); Thu, 13 Apr 2017 20:08:01 +0000 Received: (at 26441) by debbugs.gnu.org; 13 Apr 2017 20:07:03 +0000 Received: from localhost ([127.0.0.1]:46106 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyl1C-0006Sb-Um for submit@debbugs.gnu.org; Thu, 13 Apr 2017 16:07:03 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:35839) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cyl1A-0006Rr-6c for 26441@debbugs.gnu.org; Thu, 13 Apr 2017 16:07:01 -0400 Received: by mail-wm0-f68.google.com with SMTP id d79so14745824wmi.2 for <26441@debbugs.gnu.org>; Thu, 13 Apr 2017 13:07:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=3FpD7Ofg4Q0W4hbpl2v3icitbvWTKNjghQl7CUCOq2o=; b=VrG9pNSswE6nTkrworrIBjCKE61gG/M9ZTjfyEhrrSS9/ekqtrUSiVRi0ZJo5/bP4w 0aVtrOZ1VcGE7+HL5D9FhWKCCLwWcl1z5QbyrQzrKn0Sj0kvCFWgC7eE0PA9tXkl7NLL Dhl5h4O3awP8mQQBsLd35V78DzsWhrG2YQF+dli87pHLnDxnOW2+5QNkLRaUHgLFBIko PS6m74mL36mCUonJslSwYVXFroe2m/hH2kMNsLQkcAt/TO67gGA0XAzc8QPZhP7dxCk6 tV8L+zWrNm9GbH1wKRDVCmIQ7vuHbrNhi+DJvVntFGLnOp5ixROuf8YU2FEKLX4NVaO1 Ic5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=3FpD7Ofg4Q0W4hbpl2v3icitbvWTKNjghQl7CUCOq2o=; b=g2qBJd66STlQaZLzesY1hXyLQjyrnRxDJm9SNbGx12obq8fU2MGs9hTsgxjjoifpjR AnHhbQbmdEsE+mSoiDgqMyA55xlgHOHOO4c4lDTSR/X/hwEXo6CwEzqIsNzdqDWP4i0o b1GThv+dfKi6khLza00eXzWHb7yV0EweZRkCrfTUPeFGR1j/CAdH5oepNfv2u8HfVi6y vrhR+BO6DpBMRqBspOiLe+zVgFQz1RPgCV0O3Pr9w2o3wdTnTLU5YQDmp6EDcjgF34vu 90Llg3GG4hB4WhBNbKhsSnE14fk1jeqJ3Q54pJuDor5lw1BtU/mRs775BfxM01K/IVm3 KdAA== X-Gm-Message-State: AN3rC/7qbVs5Cb8af7tmPuaQ6zUYUK+dyhz9tnRc+TFddgmuateqqfpm UdK3MQdPkveOMPUi X-Received: by 10.28.159.136 with SMTP id i130mr4700600wme.29.1492114014386; Thu, 13 Apr 2017 13:06:54 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id j32sm25062343wre.67.2017.04.13.13.06.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Apr 2017 13:06:53 -0700 (PDT) From: Mathieu Othacehe Date: Thu, 13 Apr 2017 22:06:36 +0200 Message-Id: <20170413200636.8332-2-m.othacehe@gmail.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170413200636.8332-1-m.othacehe@gmail.com> References: <8737dc9jy1.fsf@fastmail.com> <20170413200636.8332-1-m.othacehe@gmail.com> X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) * gnu/packages/base.scm (findutils): Reindent, no functional change. --- gnu/packages/base.scm | 64 +++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1ae3c8911..e620d9cea 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -251,43 +251,43 @@ interactive means to merge two files.") (define-public findutils (package - (name "findutils") - (version "4.6.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/findutils/findutils-" - version ".tar.gz")) - (sha256 - (base32 - "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) - (patches (search-patches - "findutils-localstatedir.patch" - "findutils-test-xargs.patch" - ;; test-lock has performance issues on multi-core - ;; machines, it hangs or takes a long time to complete. - ;; This is a commit from gnulib to fix this issue. - "findutils-gnulib-multi-core.patch")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags (list - ;; Tell 'updatedb' to write to /var. - "--localstatedir=/var" - - ;; Work around cross-compilation failure. See - ;; . - ,@(if (%current-target-system) - '("gl_cv_func_wcwidth_works=yes") - '())))) - (synopsis "Operating on files matching given criteria") - (description - "Findutils supplies the basic file directory searching utilities of the + (name "findutils") + (version "4.6.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/findutils/findutils-" + version ".tar.gz")) + (sha256 + (base32 + "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) + (patches (search-patches + "findutils-localstatedir.patch" + "findutils-test-xargs.patch" + ;; test-lock has performance issues on multi-core + ;; machines, it hangs or takes a long time to complete. + ;; This is a commit from gnulib to fix this issue. + "findutils-gnulib-multi-core.patch")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list + ;; Tell 'updatedb' to write to /var. + "--localstatedir=/var" + + ;; Work around cross-compilation failure. See + ;; . + ,@(if (%current-target-system) + '("gl_cv_func_wcwidth_works=yes") + '())))) + (synopsis "Operating on files matching given criteria") + (description + "Findutils supplies the basic file directory searching utilities of the GNU system. It consists of two primary searching utilities: \"find\" recursively searches for files in a directory according to given criteria and \"locate\" lists files in a database that match a query. Two auxiliary tools are included: \"updatedb\" updates the file name database and \"xargs\" may be used to apply commands with arbitrarily long arguments.") - (license gpl3+) - (home-page "https://www.gnu.org/software/findutils/"))) + (license gpl3+) + (home-page "https://www.gnu.org/software/findutils/"))) (define-public coreutils (package -- 2.12.2 From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH 1/2] gnu: findutils: Fix make check issues on multi-core machines. Resent-From: Marius Bakke Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 15 Apr 2017 18:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Mathieu Othacehe , 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149227988015355 (code B ref 26441); Sat, 15 Apr 2017 18:12:02 +0000 Received: (at 26441) by debbugs.gnu.org; 15 Apr 2017 18:11:20 +0000 Received: from localhost ([127.0.0.1]:49326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1czSAJ-0003zb-U2 for submit@debbugs.gnu.org; Sat, 15 Apr 2017 14:11:20 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:58907) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1czSAE-0003zO-FV for 26441@debbugs.gnu.org; Sat, 15 Apr 2017 14:11:18 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 5CA2B20777; Sat, 15 Apr 2017 14:11:14 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute5.internal (MEProxy); Sat, 15 Apr 2017 14:11:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=fm1; bh=8toBYAPwtpr5Oq1e611/G0HLVGuOZUO8V+/WTaxUQ lg=; b=aPJlyVT5+MNF5Xa15t0z/Aey2HxXzfOgOj6cuJts+FZW+YlhUlnOmcLYv HTddO/R+DwNk/eLo1LmwtD9PT5vxrvrgX1MzENb0Y8qWXRcSKUPgH0+p0bEfAWRf cO9OT38YUyI8llW9+NDQ2Wac3oKaRyNLKnfQQhVCkvxZH5otgafjx0rZQQcpRXkT Cyr+iBE59X3jjiYdM+cUMqAOnrvGEo3HK7XkCFCqi25bDT91pPPFzsMpvFjDcHEX isLy9F0B6lidLxdSosCeblMa03LGgRhKC4Z/OV2s00oCFod7q5d48H0xgq38WIvj TDevIa1FxBoqi5r34sV7mekGpkKBw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=8toBYAPwtpr5Oq1e61 1/G0HLVGuOZUO8V+/WTaxUQlg=; b=XSVEfnISvoim2bq+uoHbC5aLK73aWcXA9J uhkAnwTRbPwjdts+mcyiMc4VHP3AklBOpR3PdfrR/vqxSnVxqm6jnS25uiZ+iZ0j MhE00BXcKEenhD2sG7Z4HN8tOB2n0GhBtzI93d4oGUA1XGix8Ymk1F8bc12MrkQc XQVWPc6L370RXEypaCxscJUPloqhxYlnKR5jZgo+y/edjcdsdvnxUU5CKAqcI2QP VLV0DyDDsp01LFa/6fcMSnh/mx0UpFjtYU0GbUI34c+SqIN6busaJtNjItsytj8/ yxRMr/tRs1FHaxpAnE7Uy+LAvpIDNlCQnEMk4/96AVNafpY0UX1w== X-ME-Sender: X-Sasl-enc: +4cvhKMYPK0jnPmjQLR5xbbG8uHabHt1GRi1L0kiL2Qp 1492279873 Received: from localhost (unknown [188.113.81.93]) by mail.messagingengine.com (Postfix) with ESMTPA id EE913244D9; Sat, 15 Apr 2017 14:11:13 -0400 (EDT) From: Marius Bakke In-Reply-To: <20170413200636.8332-1-m.othacehe@gmail.com> References: <8737dc9jy1.fsf@fastmail.com> <20170413200636.8332-1-m.othacehe@gmail.com> User-Agent: Notmuch/0.24.1 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-unknown-linux-gnu) Date: Sat, 15 Apr 2017 20:11:12 +0200 Message-ID: <877f2lmthb.fsf@fastmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Mathieu Othacehe writes: > * gnu/packages/patches/findutils-gnulib-multi-core.patch: New file. > * gnu/packages/base.scm (findutils)[patches]: Add a reference > to the previous patch. > --- > gnu/packages/base.scm | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) It looks like you forgot the actual patch :) Please also add it to gnu/local.mk. TIA! --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAljyYkAACgkQoqBt8qM6 VPr/zQf/cwCsnmrh+isEs6BPt3XZObLkvvQTXpV6q+MnfjCLA95ForOFoCOg5QOV tTJ4kp6La8DAfa9Q1FJ14yayTr8jBGODGRRltWarGJuhYsSj1ei2RwQN9cpD2mfS 35p0xp0V3EMCsnyoRBHhDFTIeCEZWMyZ77mVX/OWhzzphJULHwLvVEJhyOOBB+LA 7gcT0+TJUhIHFkcCCwkdIgMKcB4SAAmXxdOt9NNh025D81J4QBxeSp4cxJjm8p02 WcCuPjdw5Y1yCGsNAwPLiPebprocWlZOMsLSgWWaI2YWeLRIaiH4LkNcNRAkBw4Y cSxMvEb+TWZfDONnMYoFJfHVeUpRjw== =e/h4 -----END PGP SIGNATURE----- --=-=-=-- From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH 1/2] gnu: findutils: Fix make check issues on multi-core machines. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 17 Apr 2017 10:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Marius Bakke Cc: 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149242429427550 (code B ref 26441); Mon, 17 Apr 2017 10:19:02 +0000 Received: (at 26441) by debbugs.gnu.org; 17 Apr 2017 10:18:14 +0000 Received: from localhost ([127.0.0.1]:51550 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d03ja-0007AI-9e for submit@debbugs.gnu.org; Mon, 17 Apr 2017 06:18:14 -0400 Received: from mail-wr0-f196.google.com ([209.85.128.196]:33417) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d03jV-0007A2-Lm for 26441@debbugs.gnu.org; Mon, 17 Apr 2017 06:18:13 -0400 Received: by mail-wr0-f196.google.com with SMTP id l28so19753370wre.0 for <26441@debbugs.gnu.org>; Mon, 17 Apr 2017 03:18:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=+SOnVQt/ELnMxYdY68+GlC3aAnYKpaooKwbEI3kHNjQ=; b=ak2H8rbkfEMQyr5Y3CUnc8rHYUjn98B2VeC2Vjb8/9KGnSSOXd4z5Erf0U5PRauaml VLTHWmNMgQ1AljiOVWlux2ibU3Nz6ea6AYN5URPYsHIyEnaPnKWlJhFKALWUcU17TDdH N8bntgBO+wmuvIa9QBgFhQMCCAYsXcCICXy08WBbW8QDHd0K2ID8bJdC8ghwvrTe8kRo qmsuKUMM9zIJ8onJ5wyWHmxNOfjE/E9D+VvCjUPXhQdTL5hpCoBjYbytrv90q5xXQv7e D/0FAJauutoCtyDoBbIVxwkJQmqoEwW5l0nW7Mxvir8D8vb0wGHgw0LFszuVCnFrTs6Y e4yA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=+SOnVQt/ELnMxYdY68+GlC3aAnYKpaooKwbEI3kHNjQ=; b=jgndb0XxJjCcE7f93lpIxu/hlB+z++28M31wGg7Es6/+pBvgYTwVbXNrRPclgYRXwX srpuCD6DV6y17q0Z3F+jwEwO3/jA3h07Dabkmd7+S4+FgsYbYr2qTtrx1R4FFu73MPYP olYozsuo2mYatFUxDumDajyiiid7mzVGmZ71wrRHoQ0h+hG2R062P5QHKuJTrLJ2rTMr up8OUR48Q6Ks3ffIbqpiUBO5l8dPzM20em09LL8Xrklar8i0ej07jRkZevSOntWN/6jU ike6WHkWTFJM+32aVPP8dnf1AI9zKwYbaLW+nI+AQifG6dibs/fK09Alx0jN6ZhcVuFx rnVQ== X-Gm-Message-State: AN3rC/7VECk57QikJqjG+HQ3Y0XKs/ImixFCWL+//VHSMEU072ygs7yI 3iowEuVHw6J0cQ== X-Received: by 10.223.129.198 with SMTP id 64mr17132383wra.193.1492424283862; Mon, 17 Apr 2017 03:18:03 -0700 (PDT) Received: from cervin (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id 134sm9801172wmj.6.2017.04.17.03.18.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Apr 2017 03:18:03 -0700 (PDT) References: <8737dc9jy1.fsf@fastmail.com> <20170413200636.8332-1-m.othacehe@gmail.com> <877f2lmthb.fsf@fastmail.com> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe In-reply-to: <877f2lmthb.fsf@fastmail.com> Date: Mon, 17 Apr 2017 12:18:02 +0200 Message-ID: <87d1cb5odh.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi Marius ! > It looks like you forgot the actual patch :) Ha ! You're right :) > > Please also add it to gnu/local.mk. TIA! Ok, I'll a new batch, to be applied to core-updates. Thanks, Mathieu From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH 3/3] gnu: libunistring: Fix make check issues on multi-core machines. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 17 Apr 2017 10:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149242433527618 (code B ref 26441); Mon, 17 Apr 2017 10:19:02 +0000 Received: (at 26441) by debbugs.gnu.org; 17 Apr 2017 10:18:55 +0000 Received: from localhost ([127.0.0.1]:51555 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d03kB-0007BI-IP for submit@debbugs.gnu.org; Mon, 17 Apr 2017 06:18:55 -0400 Received: from mail-wr0-f194.google.com ([209.85.128.194]:34719) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d03k7-0007As-RA for 26441@debbugs.gnu.org; Mon, 17 Apr 2017 06:18:49 -0400 Received: by mail-wr0-f194.google.com with SMTP id u18so19801886wrc.1 for <26441@debbugs.gnu.org>; Mon, 17 Apr 2017 03:18:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=osqhhXDafUkO51QCT9KSvOmt2whpzBQnQygTjo6BZCU=; b=TmhRfSM71pxzK+uc50c4JLI/UXTQOGxP+eS9iCgEHSd/SUM446+V+Ft3+iug9z4RqF pXaPh8/7fBOzfelyN4DmHi6NF6Pr/167IfaZo9b5m8EWcw6OrZ2HzC+lF4Q8o+qK8z5R 8bxxNe/YeJMJlOsPy7ik5XBpKT5MsTahIF2oyBxl1ZPoHs7EqFZd84wtMeKIgEJsjGDg ewX4VVHGvDzZGiBZgN8sfYxoHv1B1p2UcARQhoMXzcMLDh8+9z8I5+K55f91QAYBzmRN f/pqQ/nl9mlCqwKTnG4mUjqHSbQfjkQQLknG45bNJ3YO83o9SsEXgtLfn88laxIqu4UF 4xkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=osqhhXDafUkO51QCT9KSvOmt2whpzBQnQygTjo6BZCU=; b=eduOf14V9SFPhj5uOE5ke5qBPoBbVXrPmbSbElCEQ+76jA+XExbdWKficVKf983JtN kl9l/fpXKMQv3y2t+Oss4ltM7MkIpKJYf+pxvUX885Kc6/vwMXyNriD6VvLVoTNNVhWV ayh6HwmUsFFA1ieH+nfszwwWwjlvpIXg6rcrZbRSPpt1la46tOsnSpZ77HExv0tYKKQp RUJDIpOAhxXKnPwO96MP0KlTff0UpP45rOfWJtnKGUWXXzwyyLD0jlDnIVT/l4jU0NoQ mXb/w1h0GLqLYKC4vxFhhM0VPribm3+T8p7lDP0zzOTOtUKoRii0pYESHvv26F9qxsZp k9Bg== X-Gm-Message-State: AN3rC/6ZvkOJzQdGfWBBmtTFAKKb4ysparKt3kLiQYW7lN7bm8ifaxR7 CgqHhfByiiRZyg== X-Received: by 10.223.133.152 with SMTP id 24mr18290697wrt.86.1492424322140; Mon, 17 Apr 2017 03:18:42 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id 31sm812842wrt.35.2017.04.17.03.18.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Apr 2017 03:18:41 -0700 (PDT) From: Mathieu Othacehe Date: Mon, 17 Apr 2017 12:18:29 +0200 Message-Id: <20170417101829.24362-3-m.othacehe@gmail.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170417101829.24362-1-m.othacehe@gmail.com> References: <20170417101829.24362-1-m.othacehe@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) * gnu/packages/patches/libunistring-gnulib-multi-core.patch: New file. * gnu/local.mk (dist_patch): Add previous patch. * gnu/packages/libunistring.scm (libunistring)[patches]: Add a reference to previous patch. --- gnu/local.mk | 1 + gnu/packages/libunistring.scm | 8 +- .../patches/libunistring-gnulib-multi-core.patch | 178 +++++++++++++++++++++ 3 files changed, 186 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/libunistring-gnulib-multi-core.patch diff --git a/gnu/local.mk b/gnu/local.mk index b1dbfec5e..a0d7cfd0a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -732,6 +732,7 @@ dist_patch_DATA = \ %D%/packages/patches/libtorrent-rasterbar-boost-compat.patch \ %D%/packages/patches/libtool-skip-tests2.patch \ %D%/packages/patches/libunwind-CVE-2015-3239.patch \ + %D%/packages/patches/libunistring-gnulib-multi-core.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libwmf-CAN-2004-0941.patch \ %D%/packages/patches/libwmf-CVE-2006-3376.patch \ diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm index 212bec4b4..df02f68ce 100644 --- a/gnu/packages/libunistring.scm +++ b/gnu/packages/libunistring.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages base)) (define-public libunistring @@ -37,7 +39,11 @@ version ".tar.xz")) (sha256 (base32 - "15z76qrmrvkc3c6hfq2lzzqysgd21s682f2smycfab5g598n8drf")))) + "15z76qrmrvkc3c6hfq2lzzqysgd21s682f2smycfab5g598n8drf")) + ;; test-lock has performance issues on multi-core machines, + ;; it hangs or takes a long time to complete. + ;; This is a commit from gnulib to fix this issue. + (patches (search-patches "libunistring-gnulib-multi-core.patch")))) (propagated-inputs (libiconv-if-needed)) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/patches/libunistring-gnulib-multi-core.patch b/gnu/packages/patches/libunistring-gnulib-multi-core.patch new file mode 100644 index 000000000..709b20c6d --- /dev/null +++ b/gnu/packages/patches/libunistring-gnulib-multi-core.patch @@ -0,0 +1,178 @@ +This patch fixes performance problems on multi-core machines +as reported at . + +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in Gnulib +by Bruno Haible . + +diff --git a/tests/test-lock.c b/tests/test-lock.c +index cb734b4e6..aa6de2739 100644 +--- a/tests/test-lock.c ++++ b/tests/test-lock.c +@@ -50,6 +50,13 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a lock is used to protect these variables. ++ If set to 1, 'volatile' is used; this is theoretically equivalent but can ++ lead to much slower execution (e.g. 30x slower total run time on a 40-core ++ machine. */ ++#define USE_VOLATILE 0 ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -103,6 +110,51 @@ + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -170,12 +222,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -200,7 +252,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -210,7 +263,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -254,12 +307,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -284,7 +337,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -295,7 +349,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -356,12 +410,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -386,7 +440,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -396,7 +451,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } -- 2.12.2 From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH 2/3] gnu: findutils: Fix make check issues on multi-core machines. Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 17 Apr 2017 10:19:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149242433827628 (code B ref 26441); Mon, 17 Apr 2017 10:19:03 +0000 Received: (at 26441) by debbugs.gnu.org; 17 Apr 2017 10:18:58 +0000 Received: from localhost ([127.0.0.1]:51557 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d03kF-0007BQ-H6 for submit@debbugs.gnu.org; Mon, 17 Apr 2017 06:18:58 -0400 Received: from mail-wr0-f193.google.com ([209.85.128.193]:35621) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d03k6-0007Aq-VB for 26441@debbugs.gnu.org; Mon, 17 Apr 2017 06:18:48 -0400 Received: by mail-wr0-f193.google.com with SMTP id l44so19735136wrc.2 for <26441@debbugs.gnu.org>; Mon, 17 Apr 2017 03:18:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qtWnOyiktYDBuTPlXQ7E964KAJS66zhmDd+rvDxoKHI=; b=BkWbYAnMQc56Gi6Hx7eWgGJh85u+EyxvphPJX+Hi6fUjr2QDEnjlMRgrTHurRvuiq7 QaGLf+URyEBmEF55Sy+nNtI/CGygRnjwnrd58q6XXX9S/rAS6HOeFkN8qikLVAwBmfhA vomYIZCoQ+5mnL/DHqydKKVoQXm861MIDxcX1jnRVQ+7OOhQSzzb0l9teL3FF6rm4Q71 H/f6HB7sZvhWTOWSyS8Ao0ebqQk/6gOohR4DDTXF8sx/1WxxPJXL9qUOaFW8YbCJYfi2 DDTJ9FUcpzJ4RsUXOIX2ggVpgpiuMDhkMFUSzLPfkviCAajjIvWWQFb72kgPYAtf5M1K VbzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qtWnOyiktYDBuTPlXQ7E964KAJS66zhmDd+rvDxoKHI=; b=Tys5ZFjd8qtGWDfyLOh2Uq9rmBDjWYfB6AnNtlxsu3JICjNv0o3wXuT9Dg1GmsatGG lh+vtVLijX3vHWggQcfYmREcWw3ztnI19apc8w+HZUusJ5k794KvD+fWoSDVamV8N2wO ASiZoIUqkWE1a9MuONcWjZY4ZJ1eDDltiavGwbR3VrxbkG1vkJEYVZzS2mV/o3FWa29v tb1KZ33XD42/oAepcUaeMKgZh28pe3gt/8M97my9jdoVX5cdohx8BpZgdEuy8LGDT/aV INqEPD7C77TFdKdlrjXs2F0I+0VNdwN/3/2aBcUSxyOKkel4PDQ3XfJkl+NkKn1mJZaH +UPQ== X-Gm-Message-State: AN3rC/7Jvxk7T+t2+DvFP5QnO5fmtm7SZO3m3RYCm/q/ufPuFfMEzPqb uXhUWXYtrUIDyg== X-Received: by 10.223.146.225 with SMTP id 88mr17896077wrn.161.1492424321222; Mon, 17 Apr 2017 03:18:41 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id 31sm812842wrt.35.2017.04.17.03.18.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Apr 2017 03:18:40 -0700 (PDT) From: Mathieu Othacehe Date: Mon, 17 Apr 2017 12:18:28 +0200 Message-Id: <20170417101829.24362-2-m.othacehe@gmail.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170417101829.24362-1-m.othacehe@gmail.com> References: <20170417101829.24362-1-m.othacehe@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) * gnu/packages/patches/findutils-gnulib-multi-core.patch: New file. * gnu/local.mk (dist_patch): Add previous patch. * gnu/packages/base.scm (findutils)[patches]: Add a reference to the previous patch. --- gnu/local.mk | 1 + gnu/packages/base.scm | 10 +- .../patches/findutils-gnulib-multi-core.patch | 294 +++++++++++++++++++++ 3 files changed, 303 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/findutils-gnulib-multi-core.patch diff --git a/gnu/local.mk b/gnu/local.mk index 620fb07f3..b1dbfec5e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -562,6 +562,7 @@ dist_patch_DATA = \ %D%/packages/patches/fcgi-2.4.0-gcc44-fixes.patch \ %D%/packages/patches/fcgi-2.4.0-poll.patch \ %D%/packages/patches/findutils-localstatedir.patch \ + %D%/packages/patches/findutils-gnulib-multi-core.patch \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/fltk-shared-lib-defines.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index c56859021..004aacfa0 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Rene Saavedra +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -259,8 +260,13 @@ interactive means to merge two files.") (sha256 (base32 "178nn4dl7wbcw499czikirnkniwnx36argdnqgz4ik9i6zvwkm6y")) - (patches (search-patches "findutils-localstatedir.patch" - "findutils-test-xargs.patch")))) + (patches (search-patches + "findutils-localstatedir.patch" + "findutils-test-xargs.patch" + ;; test-lock has performance issues on multi-core + ;; machines, it hangs or takes a long time to complete. + ;; This is a commit from gnulib to fix this issue. + "findutils-gnulib-multi-core.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list diff --git a/gnu/packages/patches/findutils-gnulib-multi-core.patch b/gnu/packages/patches/findutils-gnulib-multi-core.patch new file mode 100644 index 000000000..5a37f4f1f --- /dev/null +++ b/gnu/packages/patches/findutils-gnulib-multi-core.patch @@ -0,0 +1,294 @@ +This patch fixes performance problems on multi-core machines +as reported at . + +See commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 in Gnulib +by Bruno Haible . + +diff --git a/tests/test-lock.c b/tests/test-lock.c +index a992f64..fb18dee 100644 +--- a/tests/test-lock.c ++++ b/tests/test-lock.c +@@ -1,5 +1,5 @@ + /* Test of locking in multithreaded situations. +- Copyright (C) 2005, 2008-2015 Free Software Foundation, Inc. ++ Copyright (C) 2005, 2008-2017 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -50,6 +50,28 @@ + Uncomment this to see if the operating system has a fair scheduler. */ + #define EXPLICIT_YIELD 1 + ++/* Whether to use 'volatile' on some variables that communicate information ++ between threads. If set to 0, a semaphore or a lock is used to protect ++ these variables. If set to 1, 'volatile' is used; this is theoretically ++ equivalent but can lead to much slower execution (e.g. 30x slower total ++ run time on a 40-core machine), because 'volatile' does not imply any ++ synchronization/communication between different CPUs. */ ++#define USE_VOLATILE 0 ++ ++#if USE_POSIX_THREADS && HAVE_SEMAPHORE_H ++/* Whether to use a semaphore to communicate information between threads. ++ If set to 0, a lock is used. If set to 1, a semaphore is used. ++ Uncomment this to reduce the dependencies of this test. */ ++# define USE_SEMAPHORE 1 ++/* Mac OS X provides only named semaphores (sem_open); its facility for ++ unnamed semaphores (sem_init) does not work. */ ++# if defined __APPLE__ && defined __MACH__ ++# define USE_NAMED_SEMAPHORE 1 ++# else ++# define USE_UNNAMED_SEMAPHORE 1 ++# endif ++#endif ++ + /* Whether to print debugging messages. */ + #define ENABLE_DEBUGGING 0 + +@@ -90,6 +112,12 @@ + + #include "glthread/thread.h" + #include "glthread/yield.h" ++#if USE_SEMAPHORE ++# include ++# include ++# include ++# include ++#endif + + #if ENABLE_DEBUGGING + # define dbgprintf printf +@@ -103,6 +131,132 @@ + # define yield() + #endif + ++#if USE_VOLATILE ++struct atomic_int { ++ volatile int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ return ai->value; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ ai->value = new_value; ++} ++#elif USE_SEMAPHORE ++/* This atomic_int implementation can only support the values 0 and 1. ++ It is initially 0 and can be set to 1 only once. */ ++# if USE_UNNAMED_SEMAPHORE ++struct atomic_int { ++ sem_t semaphore; ++}; ++#define atomic_int_semaphore(ai) (&(ai)->semaphore) ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ sem_init (&ai->semaphore, 0, 0); ++} ++# endif ++# if USE_NAMED_SEMAPHORE ++struct atomic_int { ++ sem_t *semaphore; ++}; ++#define atomic_int_semaphore(ai) ((ai)->semaphore) ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ sem_t *s; ++ unsigned int count; ++ for (count = 0; ; count++) ++ { ++ char name[80]; ++ /* Use getpid() in the name, so that different processes running at the ++ same time will not interfere. Use ai in the name, so that different ++ atomic_int in the same process will not interfere. Use a count in ++ the name, so that even in the (unlikely) case that a semaphore with ++ the specified name already exists, we can try a different name. */ ++ sprintf (name, "test-lock-%lu-%p-%u", ++ (unsigned long) getpid (), ai, count); ++ s = sem_open (name, O_CREAT | O_EXCL, 0600, 0); ++ if (s == SEM_FAILED) ++ { ++ if (errno == EEXIST) ++ /* Retry with a different name. */ ++ continue; ++ else ++ { ++ perror ("sem_open failed"); ++ abort (); ++ } ++ } ++ else ++ { ++ /* Try not to leave a semaphore hanging around on the file system ++ eternally, if we can avoid it. */ ++ sem_unlink (name); ++ break; ++ } ++ } ++ ai->semaphore = s; ++} ++# endif ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ if (sem_trywait (atomic_int_semaphore (ai)) == 0) ++ { ++ if (sem_post (atomic_int_semaphore (ai))) ++ abort (); ++ return 1; ++ } ++ else if (errno == EAGAIN) ++ return 0; ++ else ++ abort (); ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ if (new_value == 0) ++ /* It's already initialized with 0. */ ++ return; ++ /* To set the value 1: */ ++ if (sem_post (atomic_int_semaphore (ai))) ++ abort (); ++} ++#else ++struct atomic_int { ++ gl_lock_define (, lock) ++ int value; ++}; ++static void ++init_atomic_int (struct atomic_int *ai) ++{ ++ gl_lock_init (ai->lock); ++} ++static int ++get_atomic_int_value (struct atomic_int *ai) ++{ ++ gl_lock_lock (ai->lock); ++ int ret = ai->value; ++ gl_lock_unlock (ai->lock); ++ return ret; ++} ++static void ++set_atomic_int_value (struct atomic_int *ai, int new_value) ++{ ++ gl_lock_lock (ai->lock); ++ ai->value = new_value; ++ gl_lock_unlock (ai->lock); ++} ++#endif ++ + #define ACCOUNT_COUNT 4 + + static int account[ACCOUNT_COUNT]; +@@ -170,12 +324,12 @@ lock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int lock_checker_done; ++static struct atomic_int lock_checker_done; + + static void * + lock_checker_thread (void *arg) + { +- while (!lock_checker_done) ++ while (get_atomic_int_value (&lock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_lock_lock (my_lock); +@@ -200,7 +354,8 @@ test_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- lock_checker_done = 0; ++ init_atomic_int (&lock_checker_done); ++ set_atomic_int_value (&lock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (lock_checker_thread, NULL); +@@ -210,7 +365,7 @@ test_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- lock_checker_done = 1; ++ set_atomic_int_value (&lock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } +@@ -254,12 +409,12 @@ rwlock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int rwlock_checker_done; ++static struct atomic_int rwlock_checker_done; + + static void * + rwlock_checker_thread (void *arg) + { +- while (!rwlock_checker_done) ++ while (get_atomic_int_value (&rwlock_checker_done) == 0) + { + dbgprintf ("Checker %p before check rdlock\n", gl_thread_self_pointer ()); + gl_rwlock_rdlock (my_rwlock); +@@ -284,7 +439,8 @@ test_rwlock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- rwlock_checker_done = 0; ++ init_atomic_int (&rwlock_checker_done); ++ set_atomic_int_value (&rwlock_checker_done, 0); + + /* Spawn the threads. */ + for (i = 0; i < THREAD_COUNT; i++) +@@ -295,7 +451,7 @@ test_rwlock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- rwlock_checker_done = 1; ++ set_atomic_int_value (&rwlock_checker_done, 1); + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (checkerthreads[i], NULL); + check_accounts (); +@@ -356,12 +512,12 @@ reclock_mutator_thread (void *arg) + return NULL; + } + +-static volatile int reclock_checker_done; ++static struct atomic_int reclock_checker_done; + + static void * + reclock_checker_thread (void *arg) + { +- while (!reclock_checker_done) ++ while (get_atomic_int_value (&reclock_checker_done) == 0) + { + dbgprintf ("Checker %p before check lock\n", gl_thread_self_pointer ()); + gl_recursive_lock_lock (my_reclock); +@@ -386,7 +542,8 @@ test_recursive_lock (void) + /* Initialization. */ + for (i = 0; i < ACCOUNT_COUNT; i++) + account[i] = 1000; +- reclock_checker_done = 0; ++ init_atomic_int (&reclock_checker_done); ++ set_atomic_int_value (&reclock_checker_done, 0); + + /* Spawn the threads. */ + checkerthread = gl_thread_create (reclock_checker_thread, NULL); +@@ -396,7 +553,7 @@ test_recursive_lock (void) + /* Wait for the threads to terminate. */ + for (i = 0; i < THREAD_COUNT; i++) + gl_thread_join (threads[i], NULL); +- reclock_checker_done = 1; ++ set_atomic_int_value (&reclock_checker_done, 1); + gl_thread_join (checkerthread, NULL); + check_accounts (); + } -- 2.12.2 From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH 1/3] build: Add two missing patches to local.mk. References: <871sszuznt.fsf@gnu.org> In-Reply-To: <871sszuznt.fsf@gnu.org> Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 17 Apr 2017 10:19:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 26441@debbugs.gnu.org Cc: Mathieu Othacehe Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149242433827634 (code B ref 26441); Mon, 17 Apr 2017 10:19:03 +0000 Received: (at 26441) by debbugs.gnu.org; 17 Apr 2017 10:18:58 +0000 Received: from localhost ([127.0.0.1]:51559 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d03kI-0007BZ-2C for submit@debbugs.gnu.org; Mon, 17 Apr 2017 06:18:58 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:36368) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d03k5-0007Ao-Vz for 26441@debbugs.gnu.org; Mon, 17 Apr 2017 06:18:48 -0400 Received: by mail-wm0-f67.google.com with SMTP id q125so8106061wmd.3 for <26441@debbugs.gnu.org>; Mon, 17 Apr 2017 03:18:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=cjoh5R4MbxsHIhKS6E7rNMn28kFFI+0kTEL9oh2NaFU=; b=b8XBknKDMuq+FiTOBIc1nYBu3lqIet1jpIf5sNXxY+kle50/2YhehOriumBEoisNbW LL10vOMl/BzswGQRkkz3B49+w6ujpkVhaUx5FHmrRCPDLwIZiPX5blj/5P8FpI4/e/AB BID7lMHoS4W/7fb0HS8FpbDxioe6utxp19LDf4gobL/JgXRk4geMLbCwfb4AqcO+QFBk n4p2Yd5nj33Udenk6+1WwHuRiLKTtkpSXK+0Fh/7VX0RERLNChscBkMf4RY7weulFjVB f2qVcGS6UxmqpHtVGzE/u8DdiEtgTsiBTaTxmg3f1nQ/08bioL0h1PgoUyRZEhjy8Qs6 3UBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=cjoh5R4MbxsHIhKS6E7rNMn28kFFI+0kTEL9oh2NaFU=; b=tmaSE8YLEMQSvc9WC0A2BRRwG+S4oIJl3H3CTNvo9XBiVpbgbUlYGNcevvG5bN6cWv qcNNhVwJCKPS/5oVBpPbDaqu9X6/wDK0Ty4mzYrsVoTJB80sMKgHY/8D6wfNGQxYOCSH hEjlP6szW1r667gJlAksQONHK9a4b/LiV54SbCm1n8xmzGn3gwtzgatl0tZc9wUU3gz0 AhWFlXwdj/JRw9ytLU6xFcxRmPaWwCOSou/5bmA41vvpas4DLg/z73tTETcRzmzcStEK kjbanFYXh5R+X2+2BvPNa9oTDNnmmRyKL53qf2tNcs6K/ojRQQLRQv3HX+xaWUMRjP93 Y+og== X-Gm-Message-State: AN3rC/6qm3x3CPqkN5qFQMYu7fwwX4IAk8MCgEXXNS7jEE4sour1aRNS qq5V+hRvSjKzgw== X-Received: by 10.28.222.70 with SMTP id v67mr7808038wmg.65.1492424320197; Mon, 17 Apr 2017 03:18:40 -0700 (PDT) Received: from cervin.8.8.8.8 (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id 31sm812842wrt.35.2017.04.17.03.18.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Apr 2017 03:18:39 -0700 (PDT) From: Mathieu Othacehe Date: Mon, 17 Apr 2017 12:18:27 +0200 Message-Id: <20170417101829.24362-1-m.othacehe@gmail.com> X-Mailer: git-send-email 2.12.2 X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) gnu/local.mk (dist_patch): Add gettext-multi-core.patch and gettext-gnulib-multi-core.patch. Commit 480da86d0969a667e8d2a564de535cb73a6a2229 ommited them. --- gnu/local.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/local.mk b/gnu/local.mk index 51f92f088..620fb07f3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -593,6 +593,8 @@ dist_patch_DATA = \ %D%/packages/patches/gd-php-73968-Fix-109-XBM-reading.patch \ %D%/packages/patches/gegl-CVE-2012-4433.patch \ %D%/packages/patches/geoclue-config.patch \ + %D%/packages/patches/gettext-multi-core.patch \ + %D%/packages/patches/gettext-gnulib-multi-core.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ %D%/packages/patches/ghostscript-CVE-2013-5653.patch \ %D%/packages/patches/ghostscript-CVE-2015-3228.patch \ -- 2.12.2 From unknown Mon Aug 18 02:37:12 2025 X-Loop: help-debbugs@gnu.org Subject: bug#26441: [PATCH 1/2] gnu: findutils: Fix make check issues on multi-core machines. Resent-From: Marius Bakke Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 17 Apr 2017 19:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 26441 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Mathieu Othacehe Cc: 26441@debbugs.gnu.org Received: via spool by 26441-submit@debbugs.gnu.org id=B26441.149245844529031 (code B ref 26441); Mon, 17 Apr 2017 19:48:01 +0000 Received: (at 26441) by debbugs.gnu.org; 17 Apr 2017 19:47:25 +0000 Received: from localhost ([127.0.0.1]:52942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0CcP-0007YA-0a for submit@debbugs.gnu.org; Mon, 17 Apr 2017 15:47:25 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:47263) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0CcL-0007Y1-Iz for 26441@debbugs.gnu.org; Mon, 17 Apr 2017 15:47:24 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 41E5B20B6F; Mon, 17 Apr 2017 15:47:19 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute5.internal (MEProxy); Mon, 17 Apr 2017 15:47:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=fm1; bh=pxASCPwIe8zIRV8t7bEo4ZqNXzaOnkO62nD6XcJFZ yQ=; b=tLjkMXnJSUjOTf98CcNL0z4lTtR8w0AbMPaM5W/NFcDu75LVEE6C0qJQe xauvFRYJnfigO50g666KIdtNBtkJOinyS6ZJNUnmrjW13Qeh7LtSC4NWbORN2GIA JGEBDK4Sp2VnqO8fbjoz7xUL34MIxCJCndlqEOZJSwkbzINl8SUBxEXLvZOko9xw XTOtRozCXt5E1VstO16D9dVkzvAz7kfNI0RUvnOHBnx7OULZi6OqACfrUGZE8qR2 UBgEg+JK+Hc0hEqMOc9KGBhkr6ay09x0z7raUvk/IUxMm4Fve+ydOP5YBj8gKB8D OGX/AL67r57t6b1rM58FYbJS4vb8w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=pxASCPwIe8zIRV8t7b Eo4ZqNXzaOnkO62nD6XcJFZyQ=; b=O/m7YAMq6aGJ0S7beRyrKYOlr+dRKwgMGO pDGKTWdmuZB5hGseYrzwXw0pOFm8qgA+UvYaq5vN6P9Fql6ohwvj2pAzDF/iftHS 8g5cl2p/gGC/IVzaPOpvLD0KKjx75y+79p0J3wwnyDXozCAo9dEL1F+pS0ZyF4Zh p3yNzdqoChaULkNP+gPeRHQD9DBuWpk4I6FLaM1/TDti0ICFfK1dd1ZtcraCfj74 EnY1A+hTwXJQR2Ow4vJ1HyJE23hsBjk5o6p+64Xp+DMMB9H4pjiISexGCGUzy5eP KosKMd5503pvJlm1URoVBeGNeQaRiY7VeqBDMECsYe1G/nZDEKEg== X-ME-Sender: X-Sasl-enc: WNlfAHsTEuq9Q9Eks8L5up9O0MnVF6Q+F08wtHxJddH0 1492458438 Received: from localhost (unknown [188.113.81.93]) by mail.messagingengine.com (Postfix) with ESMTPA id CEF4E7E2E3; Mon, 17 Apr 2017 15:47:18 -0400 (EDT) From: Marius Bakke In-Reply-To: <87d1cb5odh.fsf@gmail.com> References: <8737dc9jy1.fsf@fastmail.com> <20170413200636.8332-1-m.othacehe@gmail.com> <877f2lmthb.fsf@fastmail.com> <87d1cb5odh.fsf@gmail.com> User-Agent: Notmuch/0.24.1 (https://notmuchmail.org) Emacs/25.1.1 (x86_64-unknown-linux-gnu) Date: Mon, 17 Apr 2017 21:47:17 +0200 Message-ID: <87a87elsu2.fsf@fastmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --=-=-= Content-Type: text/plain Mathieu Othacehe writes: > Hi Marius ! > >> It looks like you forgot the actual patch :) > > Ha ! You're right :) > >> >> Please also add it to gnu/local.mk. TIA! > > Ok, I'll a new batch, to be applied to core-updates. Applied, thank you! Can this be closed now? --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAlj1G8UACgkQoqBt8qM6 VPoNRgf/UVxU63hwUPa1py0vClxm4KMe3s9N2CHKMaW9aV/K4JCg06WG8Uwy2Shq ctbqeaTZvI05lfkLgb18rlIW66IuTlH64wfKpBElW2s07T2+OlL5JqVmHfG7kGEc ic5jn2bzOJCzzfUJk/N+NDkCTPKJ8yYdxd7r6JkQ3cVbQdO9X4yzXzz4BRuUOtuL jCFSZFuXXos+Q+L1DzMEC+RwyHLBM2NTU6AFh+yPz6o0p+fHMeUlFDLYe2OCSvU+ fGkBXGoEoZG+vZ05tr1zKwiuXVZwHgCEsUOKY0O5t8pkUlp/sM/C5ia2Ut/1bMuH 6fZvhf9yF09/1jctAxZqj+9LuqOY5A== =kTFO -----END PGP SIGNATURE----- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 19 15:45:39 2017 Received: (at control) by debbugs.gnu.org; 19 Apr 2017 19:45:39 +0000 Received: from localhost ([127.0.0.1]:57379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0vXn-0002yv-Ep for submit@debbugs.gnu.org; Wed, 19 Apr 2017 15:45:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57537) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0vXl-0002yh-Em for control@debbugs.gnu.org; Wed, 19 Apr 2017 15:45:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d0vXd-0007IR-30 for control@debbugs.gnu.org; Wed, 19 Apr 2017 15:45:32 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:52229) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0vXc-0007IL-W7 for control@debbugs.gnu.org; Wed, 19 Apr 2017 15:45:29 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:38984 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d0vXc-0000Cx-A0 for control@debbugs.gnu.org; Wed, 19 Apr 2017 15:45:28 -0400 Date: Wed, 19 Apr 2017 21:45:26 +0200 Message-Id: <87pog8npux.fsf@gnu.org> To: control@debbugs.gnu.org From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: control message for bug #26441 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) severity 26441 important From unknown Mon Aug 18 02:37:12 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#26441: closed (Re: bug#26441: =?UTF-8?Q?Gnulib=E2=80=99s_?= =?UTF-8?Q?=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores) Message-ID: References: <87r30kf2c3.fsf@gnu.org> <871sszuznt.fsf@gnu.org> X-Gnu-PR-Message: they-closed 26441 X-Gnu-PR-Package: guix Reply-To: 26441@debbugs.gnu.org Date: Sat, 22 Apr 2017 23:31:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1492903862-30862-1" This is a multi-part message in MIME format... ------------=_1492903862-30862-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #26441: Gnulib=E2=80=99s =E2=80=98test-lock=E2=80=99 fails to complete on m= achines with >=3D 32 cores which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 26441@debbugs.gnu.org. --=20 26441: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D26441 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1492903862-30862-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 26441-done) by debbugs.gnu.org; 22 Apr 2017 23:30:07 +0000 Received: from localhost ([127.0.0.1]:34874 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d24Td-0007zl-Rf for submit@debbugs.gnu.org; Sat, 22 Apr 2017 19:30:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42375) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d24TZ-0007yn-88 for 26441-done@debbugs.gnu.org; Sat, 22 Apr 2017 19:30:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d24TP-0002hi-8h for 26441-done@debbugs.gnu.org; Sat, 22 Apr 2017 19:29:56 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:55997) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d24TP-0002he-4m; Sat, 22 Apr 2017 19:29:51 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:55572 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d24TO-0002m1-Dg; Sat, 22 Apr 2017 19:29:50 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: bug#26441: =?utf-8?Q?Gnulib=E2=80=99s_=E2=80=98test-lock?= =?utf-8?Q?=E2=80=99?= fails to complete on machines with >= 32 cores References: <871sszuznt.fsf@gnu.org> <86shleatk3.fsf@gmail.com> <87wpapdedp.fsf@gnu.org> <2008088.TpEHzIiNi8@omega> <87h91td2s5.fsf@gnu.org> <86poggbykk.fsf@gmail.com> <87poggqyw3.fsf@gnu.org> <871sswjmlj.fsf@gmail.com> Date: Sun, 23 Apr 2017 01:29:48 +0200 In-Reply-To: <871sswjmlj.fsf@gmail.com> (Mathieu Othacehe's message of "Thu, 13 Apr 2017 18:31:20 +0200") Message-ID: <87r30kf2c3.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 26441-done Cc: 26441-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Mathieu Othacehe skribis: >> Maybe we can simply patch the important packages (findutils, >> libunistring) and wait and see if others need the patch. Not ideal, but >> I can=E2=80=99t think of a better way. > > Ok fine for me. > > I'll send findutils and libunistring patches for now. I see these have been committed to core-updates: commit b100e0e89ebd1a6e73d6be4e354dd684abb057a4 Author: Mathieu Othacehe Date: Mon Apr 17 12:18:29 2017 +0200 gnu: libunistring: Fix make check issues on multi-core machines. * gnu/packages/patches/libunistring-gnulib-multi-core.patch: New file. * gnu/local.mk (dist_patch): Add previous patch. * gnu/packages/libunistring.scm (libunistring)[patches]: Add a refere= nce to previous patch. Signed-off-by: Marius Bakke commit da8e256a527a21ad88005c1d84514d910b964c19 Author: Mathieu Othacehe Date: Mon Apr 17 12:18:28 2017 +0200 gnu: findutils: Fix make check issues on multi-core machines. * gnu/packages/patches/findutils-gnulib-multi-core.patch: New file. * gnu/local.mk (dist_patch): Add previous patch. * gnu/packages/base.scm (findutils)[patches]: Add a reference to the previous patch. Signed-off-by: Marius Bakke Closing this bug now. Thank you Mathieu! Ludo=E2=80=99. ------------=_1492903862-30862-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 11 Apr 2017 08:17:17 +0000 Received: from localhost ([127.0.0.1]:41941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cxqzE-00051l-In for submit@debbugs.gnu.org; Tue, 11 Apr 2017 04:17:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40495) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cxqzD-00051a-Bu for submit@debbugs.gnu.org; Tue, 11 Apr 2017 04:17:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cxqz5-0006US-3d for submit@debbugs.gnu.org; Tue, 11 Apr 2017 04:17:10 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:38057) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cxqz5-0006UM-0W for submit@debbugs.gnu.org; Tue, 11 Apr 2017 04:17:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59685) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxqz2-0007Tw-SI for bug-guix@gnu.org; Tue, 11 Apr 2017 04:17:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cxqz1-0006Td-0R for bug-guix@gnu.org; Tue, 11 Apr 2017 04:17:04 -0400 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51776) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cxqyv-0006Sg-1E; Tue, 11 Apr 2017 04:16:57 -0400 Received: from [193.50.110.157] (port=45768 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1cxqyu-0007m6-DG; Tue, 11 Apr 2017 04:16:56 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: bug-guix@gnu.org Subject: =?utf-8?Q?Gnulib=E2=80=99s_=E2=80=98test-lock=E2=80=99?= fails to complete on machines with >= 32 cores X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 Germinal an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Tue, 11 Apr 2017 10:16:54 +0200 Message-ID: <871sszuznt.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) With current =E2=80=98master=E2=80=99, Gnulib=E2=80=99s =E2=80=98test-lock= =E2=80=99 (a test found in many GNU packages that use Gnulib, such as gettext-0.19.8.1) fails to complete in 1 hour almost systematically on bayfront, which is a 32-core x86_64 machine. The backtrace is like this: --8<---------------cut here---------------start------------->8--- (gdb) thread apply all bt Thread 21 (LWP 5636): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 20 (LWP 5635): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 19 (LWP 5634): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 18 (LWP 5633): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 17 (LWP 5632): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 16 (LWP 5631): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 15 (LWP 5630): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 14 (LWP 5629): #0 0x00007ffff77a93d6 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 13 (LWP 5628): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 12 (LWP 5627): #0 0x00007ffff77a9602 in pthread_rwlock_wrlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x000000000040172f in rwlock_mutator_thread (arg=3D) at = test-lock.c:348 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 11 (LWP 5626): #0 0x00007ffff74cf777 in sched_yield () from target:/gnu/store/rmjlycdgiq8= pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 #1 0x0000000000401810 in gl_thread_yield () at test-lock.c:104 #2 rwlock_checker_thread (arg=3D) at test-lock.c:381 #3 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #4 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 10 (LWP 5625): #0 0x00007ffff74cf777 in sched_yield () from target:/gnu/store/rmjlycdgiq8= pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 #1 0x0000000000401810 in gl_thread_yield () at test-lock.c:104 #2 rwlock_checker_thread (arg=3D) at test-lock.c:381 #3 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #4 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 9 (LWP 5624): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 8 (LWP 5623): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 7 (LWP 5622): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 6 (LWP 5621): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 5 (LWP 5620): #0 0x00007ffff74cf777 in sched_yield () from target:/gnu/store/rmjlycdgiq8= pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 #1 0x0000000000401810 in gl_thread_yield () at test-lock.c:104 #2 rwlock_checker_thread (arg=3D) at test-lock.c:381 #3 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #4 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 4 (LWP 5619): #0 0x00007ffff74cf777 in sched_yield () from target:/gnu/store/rmjlycdgiq8= pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 #1 0x0000000000401810 in gl_thread_yield () at test-lock.c:104 #2 rwlock_checker_thread (arg=3D) at test-lock.c:381 #3 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #4 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 3 (LWP 5618): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 2 (LWP 5617): #0 0x00007ffff77a9dd7 in pthread_rwlock_unlock () from target:/gnu/store/r= mjlycdgiq8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000401807 in rwlock_checker_thread (arg=3D) at = test-lock.c:378 #2 0x00007ffff77a4454 in start_thread () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #3 0x00007ffff74e67bf in clone () from target:/gnu/store/rmjlycdgiq8pfy5hf= i42qhw3k7p6kdav-glibc-2.25/lib/libc.so.6 Thread 1 (LWP 5605): #0 0x00007ffff77a568d in pthread_join () from target:/gnu/store/rmjlycdgiq= 8pfy5hfi42qhw3k7p6kdav-glibc-2.25/lib/libpthread.so.0 #1 0x0000000000400e29 in gl_thread_join (retvalp=3D0x0, thread=3D) at test-lock.c:99 #2 test_rwlock () at test-lock.c:408 #3 main () at test-lock.c:682 --8<---------------cut here---------------end--------------->8--- Mathieu Othacehe reported the same issue on a 32-core machine. This may be fixed by Gnulib commit 480d374e596a0ee3fed168ab42cd84c313ad3c89 (not present in gettext-0.19.8.1), which introduces this: --- a/tests/test-lock.c +++ b/tests/test-lock.c @@ -50,6 +50,13 @@ Uncomment this to see if the operating system has a fair scheduler. = */ #define EXPLICIT_YIELD 1 +/* Whether to use 'volatile' on some variables that communicate informat= ion + between threads. If set to 0, a lock is used to protect these variab= les. + If set to 1, 'volatile' is used; this is theoretically equivalent but= can + lead to much slower execution (e.g. 30x slower total run time on a 40= -core + machine. */ +#define USE_VOLATILE 0 30x slower could exceed the default max-silent-timeout, which is 1 hour. Ludo=E2=80=99. ------------=_1492903862-30862-1--