[Dropping bug-gettext from CC.]

Natanael Copa wrote:
> The test-pthread-rwlock fails on a riscv64 Alpine Linux system with 64
> cpu cores. The test passes on x86_64 and aarch64.
> 
> ...
> ============================================================================
> Testsuite summary for gettext-tools 0.24.1
> ============================================================================
> # TOTAL: 463
> # PASS:  389
> # SKIP:  73
> # XFAIL: 0
> # FAIL:  1
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> See gnulib-tests/test-suite.log for debugging.
> Some test(s) failed.  Please report this to bug-gett...@gnu.org,
> together with the test-suite.log file (gzipped) and your system
> information.  Thanks.
> ============================================================================
> ...
> ncopa-edge-riscv64:~/aports/main/gettext/src/gettext-0.24.1/gettext-tools$ 
> cat gnulib-tests/test-suite.log 
> =======================================================
>    gettext-tools 0.24.1: gnulib-tests/test-suite.log
> =======================================================
> 
> # TOTAL: 463
> # PASS:  389
> # SKIP:  73
> # XFAIL: 0
> # FAIL:  1
> # XPASS: 0
> # ERROR: 0
> 
> System information (uname -a): Linux 6.1.80-0-sophgo #1-Alpine SMP PREEMPT 
> Mon, 26 Aug 2024 10:06:58 +0000 riscv64
> Distribution information (/etc/os-release):
> NAME="Alpine Linux"
> ID=alpine
> VERSION_ID=3.22.0_alpha20250108
> PRETTY_NAME="Alpine Linux edge"
> HOME_URL="https://alpinelinux.org/";
> BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues";
> 
> .. contents:: :depth: 2
> 
> FAIL: test-pthread-rwlock
> =========================
> 
> Starting test_rwlock ...Alarm clock
> FAIL test-pthread-rwlock (exit status: 142)
> 
> ncopa-edge-riscv64:~/aports/main/gettext/src/gettext-0.24.1/gettext-tools$ 
> grep RWLOCK config.h
> #define GNULIB_TEST_PTHREAD_RWLOCK 1
> #define HAVE_PTHREAD_RWLOCK 1
> /* #undef HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER */
> /* #undef PTHREAD_RWLOCK_BAD_WAITQUEUE */
> /* #undef PTHREAD_RWLOCK_LACKS_TIMEOUT */
> /* #undef PTHREAD_RWLOCK_UNIMPLEMENTED */
> 
> ncopa-edge-riscv64:~/aports/main/gettext/src/gettext-0.24.1/gettext-tools$ 
> lscpu
> Architecture:           riscv64
>   Byte Order:           Little Endian
> CPU(s):                 64
>   On-line CPU(s) list:  0-63

Thanks for the report.

I can think of two possible explanations for the test failure:

a) riscv64 CPUs are significantly slower than x86_64 or arm64 CPUs.
   (The timeout set in test-pthread-rwlock.c is currently independent of
   the CPU architecture.)

b) The test is known to be sensitive to the kernel's scheduling policy. [1]
   Since in Linux, the scheduling policy can be customized [2][3], the
   question arises whether in Alpine Linux, the default scheduling policy
   is a fair one.

So, you could try to install a different scheduler by default and repeat
the test.

Bruno

[1] https://lists.gnu.org/r/bug-gnulib/2017-01/msg00010.html
[2] https://man7.org/linux/man-pages/man7/sched.7.html
[3] 
https://mostlynerdless.de/blog/2024/12/03/hello-ebpf-control-task-scheduling-with-a-custom-scheduler-written-in-java-16/




Reply via email to