I have upgraded our build environment for https://github.com/datalad/git-annex from bullseye (now old stable). to bookworm (now stable). Docker images are at https://hub.docker.com/repository/docker/datalad/buildenv-git-annex/tags (prior ones at https://hub.docker.com/repository/docker/datalad/buildenv-git-annex-buster/tags) .
The git-annex (10.20230828+git2-g50300a47fe-1~ndall+1
) has built fine and all testing passed, but one extra test has failed:
>> nfailed version 'libpcre.*so'
>> strace -f git-annex version
>> tee /dev/fd/2
>> wc -l
>> awk '/libpcre.*so.*ENOENT/{print}'
[pid 1843] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v4/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 1843] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v3/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 1843] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/glibc-hwcaps/x86-64-v2/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 1843] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/tls/haswell/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 1843] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/tls/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 1843] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/haswell/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> test 6 -lt 5
Error: Process completed with exit code 1.
previously (10.20230828-1~ndall+1
was the last successful build) it was just 3:
>> nfailed version 'libpcre.*so'
>> strace -f git-annex version
>> tee /dev/fd/2
>> wc -l
>> awk '/libpcre.*so.*ENOENT/{print}'
[pid 1932] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/tls/haswell/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 1932] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/tls/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
[pid 1932] openat(AT_FDCWD, "/usr/lib/git-annex.linux//lib/x86_64-linux-gnu/haswell/libpcre2-8.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> test 3 -lt 5
where those 3 extra (identical) looks up are coming from now?
PS Since not critical, I will workaround for now by raising max count to 7.
x86-64-v4
,x86-64-v3
and so on... Might be nothing for us to fix, just adding slowness...I looked at it "wrong way" - it is not 3 more, it is twice more! after changing first threshold we get to the second check
so we are now getting twice more lookups for that single library for
annex init
as well, and that reaches 250. I will need to boost that threshold too. Overall -- sounds like some overhead would be "twice slower" now. Ideally we should find a way to workaround.I tracked this down: The /usr merge broke the optimisation, since it was symlinking the tls and hwcaps directories only when there was a /usr directory.
Here I was seeing 3 failed stats for libpcre in a
git-annex version
and with the fix, it's down to 0.