Subject: [core-updates] jemalloc test failures on aarch64-linux

From: Ludovic Courtès <[email-masked]>
Date: Tue, 13 Aug 2024 18:15:35 +0200

The ‘test/unit/psset’ test of jemalloc 5.3.0 fails on ‘core-updates’ for
aarch64-linux, but only on the Honeycombs (I retried several times) and
not on the Overdrive:

--8<---------------cut here---------------start------------->8---
=== test/unit/prof_sys_thread_name ===
test_prof_sys_thread_name:test/unit/prof_sys_thread_name.c:27: Test skipped: (!config_prof)
test_prof_sys_thread_name (non-reentrant): skip
test_prof_sys_thread_name:test/unit/prof_sys_thread_name.c:27: Test skipped: (!config_prof)
test_prof_sys_thread_name (libc-reentrant): skip
test_prof_sys_thread_name:test/unit/prof_sys_thread_name.c:27: Test skipped: (!config_prof)
test_prof_sys_thread_name (arena_new-reentrant): skip
--- pass: 0/3, skip: 3/3, fail: 0/3 ---

=== test/unit/psset ===
test_empty (non-reentrant): pass
test/test.sh: line 34:  9643 Segmentation fault      $JEMALLOC_TEST_PREFIX ${t} /tmp/guix-build-jemalloc-5.3.0.drv-0/jemalloc-5.3.0/ /tmp/guix-build-jemalloc-5.3.0.drv-0/jemalloc-5.3.0/
Test harness error: test/unit/psset w/ MALLOC_CONF=""
Use prefix to debug, e.g. JEMALLOC_TEST_PREFIX="gdb --args" sh test/test.sh test/unit/psset
make: *** [Makefile:673: check_unit] Error 1

Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("check" "-j" "1") exit-status: 2 term-signal: #f stop-signal: #f> 
phase `check' failed after 568.7 seconds
command "make" "check" "-j" "1" failed with status 2
build process 18 exited with status 256
builder for `/gnu/store/yq7v90g1sxs5gcc2b5pwyf31zqx1nqyq-jemalloc-5.3.0.drv' failed with exit code 1
--8<---------------cut here---------------end--------------->8---

(From <https://ci.guix.gnu.org/build/4573316/details>.)

I wonder if this has to do with large page sizes (‘--with-lg-page=14’
added in commit c2c12037eea880f935f225b9166e59e9c19be883).

It echoes this upstream bug report:

  https://github.com/jemalloc/jemalloc/issues/2408

However, on both overdrive1 and pankow, I get:

--8<---------------cut here---------------start------------->8---
$ guix shell glibc -- getconf PAGESIZE
4096
--8<---------------cut here---------------end--------------->8---

Any idea what other factors might be relevant?

Ludo’.