"make check" on git master fails with 175 FAIL and leaves processes behind on Debian/unstable

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Wed Feb 22 20:00:35 GMT 2023



On 22/02/23 14:04, Vincent Lefevre wrote:
> On 2023-02-22 16:38:21 +0100, Vincent Lefevre wrote:
>> On 2023-02-22 10:10:31 -0500, Carlos O'Donell via Libc-alpha wrote:
>>> On 2/22/23 09:56, Vincent Lefevre wrote:
>>>> I did
>>>>
>>>>     mkdir glibc-build
>>>>     cd glibc-build
>>>>     ../glibc/configure --prefix=$HOME/opt/glibc
>>>
>>> Please review:
>>> https://sourceware.org/glibc/wiki/Testing/Builds#Testing_a_glibc_build
>>>
>>> If you use a unique --prefix, that is an ABI change, and it will require
>>> you to have everything required under that path as-if it was a sysroot.
>>
>> I'll test it again with --prefix=/usr, [...]
> 
> This time, I get 8 failures:
> 
> FAIL: elf/tst-audit23
> FAIL: elf/tst-ifunc-fault-bindnow
> FAIL: elf/tst-ifunc-fault-lazy
> FAIL: locale/tst-localedef-path-norm
> FAIL: math/test-float-hypot
> FAIL: math/test-float32-hypot
> FAIL: stdlib/tst-arc4random-fork 
> FAIL: stdlib/tst-system
> 
> According to Andreas Schwab's test, only the 2 math/test-float*-hypot
> ones are expected.
> 
> It seems that some tests may be confused by the
> "LD_PRELOAD=libgtk3-nocsd.so.0" that comes from the gtk3-nocsd
> Debian package (the INSTALL file is silent on this point).
> But if I unset LD_PRELOAD and rerun "make check", I still get
> these 8 failures, and the *.out and *.test-result files are not
> updated. For instance:

It seems that LD_PRELOAD is still set for some tests and it might indeed
interfere on some results.

> 
> cventin:...tware/glibc-build> ll stdlib/tst-system*
> -rwxr-xr-x 1 vlefevre vlefevre 170552 2023-02-22 16:51:56 stdlib/tst-system*
> -rw-r--r-- 1 vlefevre vlefevre  30816 2023-02-22 16:51:55 stdlib/tst-system.o
> -rw-r--r-- 1 vlefevre vlefevre   6799 2023-02-22 16:51:58 stdlib/tst-system.out
> -rw-r--r-- 1 vlefevre vlefevre  10890 2023-02-22 17:43:29 stdlib/tst-system.o.d
> -rw-r--r-- 1 vlefevre vlefevre     47 2023-02-22 16:51:58 stdlib/tst-system.test-result
> 
> The tst-system.o.d file is new, but the other files are still the old
> ones.
> 
> The *.out files:
> 
> * elf/tst-audit23.out
> 
> error: tst-audit23.c:177: non expected la_objopen: /home/vlefevre/software/glibc-build/elf/tst-audit23mod.so 7f0304fed000 0
> error: 1 test failures

It seems that there is an extra object loaded (the line 177 is a max count 
for la_objopen events).  The LD_PRELOAD might explain it.

> 
> * elf/tst-ifunc-fault-bindnow.out
> 
>         linux-vdso.so.1 (0x00007ffc857cc000)
>         libgtk3-nocsd.so.0 => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (0x00007f2fcc860000)
>         libc.so.6 => /home/vlefevre/software/glibc-build/libc.so.6 (0x00007f2fcc68a000)
>         libdl.so.2 => /home/vlefevre/software/glibc-build/dlfcn/libdl.so.2 (0x00007f2fcc685000)
>         libpthread.so.0 => /home/vlefevre/software/glibc-build/nptl/libpthread.so.0 (0x00007f2fcc680000)
>         /lib64/ld-linux-x86-64.so.2 => /home/vlefevre/software/glibc-build/elf/ld-linux-x86-64.so.2 (0x00007f2fcc892000)
> Unused direct dependencies:
>         /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0

This test issues the loader with --verify, and the libgtk3-nocsd.so.0 is affecting
the result.

> 
> * elf/tst-ifunc-fault-lazy.out
> 
>         linux-vdso.so.1 (0x00007fff2a4fb000)
>         libgtk3-nocsd.so.0 => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (0x00007f4aa6066000)
>         libc.so.6 => /home/vlefevre/software/glibc-build/libc.so.6 (0x00007f4aa5e90000)
>         libdl.so.2 => /home/vlefevre/software/glibc-build/dlfcn/libdl.so.2 (0x00007f4aa5e8b000)
>         libpthread.so.0 => /home/vlefevre/software/glibc-build/nptl/libpthread.so.0 (0x00007f4aa5e86000)
>         /lib64/ld-linux-x86-64.so.2 => /home/vlefevre/software/glibc-build/elf/ld-linux-x86-64.so.2 (0x00007f4aa6098000)
> Unused direct dependencies:
>         /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0

Same here.

> 
> * locale/tst-localedef-path-norm.out
> 
> info: cpus=12 ntests=9
> error: subprocess failed: execv
> error:   unexpected error output from subprocess
> ERROR: ld.so: object 'libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
> [...]
> error: 9 test failures
> running post-clean rsync

Same here.

> 
> * stdlib/tst-arc4random-fork.out
> 
> Timed out: killed the child process
> Termination time: 2023-02-22T15:52:37.093033906
> Last write to standard output: 2023-02-22T15:51:56.977606899

This test fail due a timeout, you might run the testcase with TIMEOUTFACTOR
set to value larger than 1.  Another option would to just tune the internal
tests parameter down, specially because now we don't use a user PCRNG and
just issue getrandom instead.

> 
> * stdlib/tst-system.out
> 
> tst-system.c:94: error: string comparison failed
>   left string: 422 bytes
>   right string: 301 bytes
>   left (evaluated from result.err.buffer):
>       "ERROR: ld.so: object \'libgtk3-nocsd.so.0\' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.\nsh: execing aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa failed: No such file or directory"
> [...]
> 

Again it seems that the libgtk3-nocsd.so.0 is messing with the result.


More information about the Libc-alpha mailing list