Package: perl
Version: 5.8.8-12
Severity: important

As I'm packaging Test::HTTP::Server::Simple
http://search.cpan.org/dist/Test-HTTP-Server-Simple/
I found a strange bug :

the test 01.basic.t doesn't fail but block in a module while 1 loop.

Module start a HTTP::Server::Simple and send a kill USR1 with NEXT,
a while 1 loop wait the signal
see line 146 in lib/Test/HTTP/Server/Simple.pm

Cpan tester show that this works perfectly in all perl versions or OS
http://bbbike.radzeit.de/~slaven/cpantestersmatrix.cgi?dist=Test-HTTP-Server-Simple+0.06
I can confirm this with etch maybe sarge.

Here strace output with SIGUSR1 send :
....
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
child_tidptr=0xb7e0d908) = 15502
HTTP::Server::Simple: You can connect to your server at http://localhost:9583/
--- SIGUSR1 (User defined signal 1) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
rt_sigprocmask(SIG_BLOCK, [USR1], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [USR1], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [USR1], [], 8) = 0
rt_sigaction(SIGUSR1, {0x80b3090, [], 0}, {0x80b3090, [], 0}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
------

I use perl 5.8.8 on unstable
Architecture: i386
Version: 5.8.8-12
gccversion='4.2.3 20071014 (prerelease) (Debian 4.2.2-3)'
gnulibc_version='2.6.1'

on a xen machine
2.6.18-5-xen-686 #1 SMP Mon Dec 24 20:49:58 UTC 2007 i686 GNU/Linux
I have always the same problem with the loop

with 2.6.24 on a real machine or a virtualbox, the test sometimes pass !

Will talking with other mongers, they exclude gcc. Etch use 2.6.18 and troubles 
are not the same between 2.6.18 and 2.6.24 and all seem ok with 2.6.22 or 23 
... so I think the problem come from glibc.

I hope this report will be usefull. 
Thanks in advance.

-----------------------------------------------------------------
AGOSTINI Yves     CRIUM - Université Paul Verlaine - Metz
[EMAIL PROTECTED]    http://www.crium.univ-metz.fr
tel: 03 87 31 52 63          fax: 03 87 31 53 33

Reply via email to