While testing the Ubuntu archive with the newest glibc for the upcoming 24.10 release, we've noticed that the gap-guava tests fail on x86-64 against that new version of glibc.
You can test using a Ubuntu Oracular container, e.g lxc launch ubuntu-daily:oracular and enabling oracular-proposed in /etc/apt/sources.list.d/ubuntu.sources, then apt update && apt install -t oracular-proposed libc6.
I suspect it's a race condition somewhere, since the bug doesn't show when compiling with ThreadSanitizer:
oracular-dev in …/guava on master
at 11:43:37 ⬢ [Systemd] ❯ make clean > /dev/null
oracular-dev in …/guava on master
at 11:43:47 ⬢ [Systemd] ❯ make -j9 &> /dev/null
oracular-dev in …/guava on master
at 11:44:08 ⬢ [Systemd] ❯ echo 'SetPackagePath("guava", Directory(".")); LoadPackage("guava"); Test(Filename(DirectoriesPackageLibrary("guava", "tst"), "guava.tst"));' | gap
┌───────┐ GAP 4.13.1 of 2024-06-11
│ GAP │ https://www.gap-system.org
└───────┘ Architecture: x86_64-pc-linux-gnu-default64-kv9
Configuration: gmp 6.3.0, GASMAN, readline
Loading the library and packages ...
Packages: GAPDoc 1.6.7
Try '??help' for help. See also '?copyright', '?cite' and '?authors'
gap>
____ |
/ \ / --+-- Version 3.19
/ | | |\ \ / /| |
| __ | | | \ \ / / | the GUAVA Group
| | | | |--\ \ / /--|
\ | | | | \ \ / / |
\___/ \___/ | \ \/ / |
Homepage: https://gap-packages.github.io/guava
Report issues at https://github.com/gap-packages/guava/issues
true
########> Diff in ./tst/guava.tst:649
# Input is:
p := CodeIsomorphism( C1, C2 );
# Expected output:
(2,13,7,10,8,3,5,4,14)(12,15)
# But found:
Syntax error: expression expected in /tmp/gaptempfile.VzsYeY:1
GUAVA_TEMP_VAR := &
^
false
########
########> Diff in ./tst/guava.tst:651
# Input is:
C3 := PermutedCode( C1, p );
# Expected output:
a linear [15,5,7]5 permuted code
# But found:
Error, no method found! For debugging hints type ?Recovery from NoMe\
thodFound
Error, no 1st choice method found for `PermutedCode' on 2 arguments
########
########> Diff in ./tst/guava.tst:653
# Input is:
C2 = C3;
# Expected output:
true
# But found:
Error, Variable: 'C3' must have a value
########
guava.tst
msecs: 2153
false
gap> %
oracular-dev in …/guava on master took 2s
at 11:44:14 ⬢ [Systemd] ❯ make clean > /dev/null
oracular-dev in …/guava on master
at 11:44:23 ⬢ [Systemd] ❯ CFLAGS=-fsanitize=thread LDFLAGS=-fsanitize=thread make -j9 &> /dev/null
oracular-dev in …/guava on master took 4s
at 11:44:30 ⬢ [Systemd] ❯ echo 'SetPackagePath("guava", Directory(".")); LoadPackage("guava"); Test(Filename(DirectoriesPackageLibrary("guava", "tst"), "guava.tst"));' | gap
┌───────┐ GAP 4.13.1 of 2024-06-11
│ GAP │ https://www.gap-system.org
└───────┘ Architecture: x86_64-pc-linux-gnu-default64-kv9
Configuration: gmp 6.3.0, GASMAN, readline
Loading the library and packages ...
Packages: GAPDoc 1.6.7
Try '??help' for help. See also '?copyright', '?cite' and '?authors'
gap>
____ |
/ \ / --+-- Version 3.19
/ | | |\ \ / /| |
| __ | | | \ \ / / | the GUAVA Group
| | | | |--\ \ / /--|
\ | | | | \ \ / / |
\___/ \___/ | \ \/ / |
Homepage: https://gap-packages.github.io/guava
Report issues at https://github.com/gap-packages/guava/issues
true
guava.tst
msecs: 2160
true
gap> %
Hi,
While testing the Ubuntu archive with the newest glibc for the upcoming 24.10 release, we've noticed that the gap-guava tests fail on x86-64 against that new version of glibc.
You can test using a Ubuntu Oracular container, e.g
lxc launch ubuntu-daily:oracular
and enablingoracular-proposed
in /etc/apt/sources.list.d/ubuntu.sources, thenapt update && apt install -t oracular-proposed libc6
.I suspect it's a race condition somewhere, since the bug doesn't show when compiling with ThreadSanitizer: