-=| Niko Tyni, Wed, Sep 03, 2008 at 08:22:20PM +0300 |=-
> > t/1 and t/3 both block during the build.
> 
> I can reproduce the t/3.t hang quite easily on both an SMP amd64/sid
> Xen host with an Etch kernel, and an i386/lenny uniprocessor host 
> with the Lenny kernel (2.6.26+15).
> 
> It would seem to be related to fakeroot, just running 'fakeroot make
> test' hangs for me more than half of the time. It's evading strace, so
> it's hard to say what exactly is hanging. The output from 3.t is just
> one line before the hang:
> 
>  sid% fakeroot perl -Iblib/lib -Iblib/arch t/3.t
>  ok 1 - use Thread::Pool::Simple;

Now, is this
 (1) a bug in fakeroot
 (2) a bug in the package
 (3) the state of the world - threads being funky under fakeroot

Attached is the script I used to test. should be run in the package 
directory, after "perl Makefile.PL". If there is an argument given, 
runs the test under fakeroot, otherwise not. Requires the timelimit 
utility, available in the `timelimit' package.

The default time limit is 10 seconds. On my system the test takes just 
under 5. Adjust to fit your environment.

(!) Beware that in cases when the test fails, some stale processes may 
be left - both perl interpreters and faked-sysv ones, taking up 
non-trivial amounts of memory.

Results here:
 $ sh threadtest.sh 100
 Run 100: 100 OK, 0 not OK
 $ sh threadtest.sh 20 fakeroot
 Run 20: 8 OK, 12 not OK
 $ ps a|grep [p]erl|wc -l
 1
 $ ps a|grep [f]aked-sysv|wc -l
 1
 $ killall faked-sysv
 $ ps a|grep [p]erl|wc -l
 0
 $ ps a|grep [f]aked-sysv|wc -l
 0

-- 
dam            JabberID: [EMAIL PROTECTED]

Attachment: threadtest.sh
Description: Bourne shell script

Attachment: signature.asc
Description: Digital signature

Reply via email to