[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: test-pthread-rwlock failure on Pop!_OS 22.04 LTS
From: |
Bruno Haible |
Subject: |
Re: test-pthread-rwlock failure on Pop!_OS 22.04 LTS |
Date: |
Fri, 09 Aug 2024 12:03:04 +0200 |
Pádraig Brady wrote:
> FYI coreutils CI started failing with this on cfarm13.cfarm.net (debian 11.9)
> with:
>
> FAIL: test-pthread-rwlock-waitqueue
> ===================================
> test-pthread-rwlock-waitqueue.c:234: assertion 'startswith (do_test
> ("RRRRR"), " R1 R2 R3 R4 R5")' failed
> FAIL test-pthread-rwlock-waitqueue (exit status: 134)
I can't reproduce it on that machine, even in 100 runs. Probably the machine
was under load while your CI was running.
Let me avoid the (optimistic) 5 ms interval. This makes the test run for a
longer time, but that is less of a problem than a failing test.
Thanks for the report.
2024-08-09 Bruno Haible <bruno@clisp.org>
pthread-rwlock: Attempt to avoid test failure on some machines.
Reported by Pádraig Brady <P@draigBrady.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00050.html>.
* tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the
minimum interval to 10 ms.
* m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
diff --git a/m4/pthread-rwlock.m4 b/m4/pthread-rwlock.m4
index cbd08790e1..0e203606a1 100644
--- a/m4/pthread-rwlock.m4
+++ b/m4/pthread-rwlock.m4
@@ -1,5 +1,5 @@
# pthread-rwlock.m4
-# serial 6
+# serial 7
dnl Copyright (C) 2019-2024 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -127,10 +127,8 @@ AC_DEFUN([gl_PTHREAD_RWLOCK]
#if defined __hppa
# define STEP_INTERVAL 20000000 /* nanoseconds */
-#elif defined __aarch64__ || defined __m68k__
-# define STEP_INTERVAL 10000000 /* nanoseconds */
#else
-# define STEP_INTERVAL 5000000 /* nanoseconds */
+# define STEP_INTERVAL 10000000 /* nanoseconds */
#endif
static pthread_rwlock_t lock;
diff --git a/tests/test-pthread-rwlock-waitqueue.c
b/tests/test-pthread-rwlock-waitqueue.c
index 9dc4a4e808..b7df033c90 100644
--- a/tests/test-pthread-rwlock-waitqueue.c
+++ b/tests/test-pthread-rwlock-waitqueue.c
@@ -55,11 +55,8 @@
#elif (defined __FreeBSD__ || defined __DragonFly__) || (defined __linux__ &&
defined __hppa)
/* FreeBSD, Linux/hppa */
# define STEP_INTERVAL 20000000 /* nanoseconds */
-#elif defined __GNU__ || defined __sun || (defined __linux__ && (defined
__aarch64__ || defined __m68k__))
-/* GNU/Hurd, Solaris, Linux/arm64, Linux/m68k */
-# define STEP_INTERVAL 10000000 /* nanoseconds */
#else
-# define STEP_INTERVAL 5000000 /* nanoseconds */
+# define STEP_INTERVAL 10000000 /* nanoseconds */
#endif
static pthread_rwlock_t lock;