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-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to