On Thu, Feb 19, 2009 at 11:38:13AM +0100, Aurelien Jarno wrote: > Sven Joachim a écrit : > > On 2009-02-18 18:00 +0100, Aurelien Jarno wrote: > > > >> Then maybe some regressions have been added in the latest versions. > >> Could you retry with a 2.6.26 kernel from lenny/unstable? This version > >> is working on the buildd and on my machine, so that will infirm/confirm > >> it is due to the kernel. > > > > Would not be very convenient for me, but I may try it sometime later. > > In the meantime, to isolate problems due to the combination 64-bit > > kernel/32-bit userland I re-ran the testsuite with "linux32 debian/rules > > build" and got one error less than originally: > > > > ,---- > > | # > > | # Testsuite failures, someone should be working towards > > | # fixing these! They are listed here for the purpose of > > | # regression testing during builds. > > | # Format: <Failed test>, Error <Make error code> [(ignored)] > > | # > > | annexc.out, Error 1 (ignored) > > | check-localplt.out, Error 1 > > | tst-cancel7.out, Error 1 > > | tst-cancelx4.out, Error 1 > > | tst-cancelx5.out, Error 1 > > | tst-cancelx7.out, Error 1 > > | tst-cleanup0.out, Error 2 > > | tst-cpuclock2.out, Error 1 > > | tst-fmon.out, Error 1 > > | *************** > > | Encountered regressions that don't match expected failures: > > | tst-cancel7.out, Error 1 > > | tst-cancelx7.out, Error 1 > > | tst-cleanup0.out, Error 2 > > | tst-cpuclock2.out, Error 1 > > | tst-fmon.out, Error 1 > > `---- > > > > The tst-cancel*.out files all consist of a single line reading > > > > child <pid> still running > > When the test is running correctly, the child exit correctly and this > file is empty. > > > The error in tst-cleanup0.out is due to a bashism in the test suite, I'm > > using dash as /bin/sh. See the excerpt in the attached file > > tst-cleanup0-bashism. There are probably more bashisms, e.g. in > > nptl/tst-tls6.sh. > Actually all the error but tst-cpuclock2.out are due to the use of dash as a shell.
I have committed a patch that make sure that bash is used to run the testsuite. It fixes all the tests, except tst-cancel7.out and tst-cancelx7.out. Those two failures are due to the behavior of dash versus bash. The test tries to test that system() is cancellable. system() invokes /bin/sh (and this is hard-coded, not changeable via any environment variable). When doing /bin/bash -c "/bin/echo foo", bash is clever enough to invoke /bin/echo with execve() without forking. When system() kills the subprocess, it kills the intended subprocess. But dash forks a further subprocess and waits, so system() just kills dash, not dash's subprocess. I don't know what is the best way (if there is a way) to fix this problem with dash. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org