Skip Menu |

This queue is for tickets about the IO-Async CPAN distribution.

Report information
The Basics
Id: 65496
Status: resolved
Priority: 0/
Queue: IO-Async

People
Owner: Nobody in particular
Requestors: TEAM [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.38
Fixed in: 0.39



Subject: t/10loop-poll-io.t and 41detachedcode-call.t fail on NetBSD5.1 amd64
Got a couple of test failures on a new NetBSD5.1 install, the "$hangup after socket close" one in t/10loop-poll-io.t is reproducible and the "$code->workers is now 0" gave me a different error first time I ran it (timing issue perhaps?) but didn't have the output logged that time unfortunately, will update if I can trigger that again. Only installed this VM a few hours ago, and I know very little about *BSD so it's possibly an environment issue - using a perlbrew install with usemultiplicity disabled to trace a separate issue, will try on similar OpenBSD/FreeBSD setups to see if they behave any differently. cheers, Tom
Subject: build.log
/home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/bin/perl5.10.1 Build --makefile_env_macros 1 test t/00use.t .................... ok t/01timequeue.t .............. ok t/02loop-magic.t ............. ok t/03loop-osabstract.t ........ ok t/04notifier.t ............... ok t/05notifier-child.t ......... ok # Failed test '$hangup after socket close' # at /home/tom/.cpan/build/IO-Async-0.38-dic50f/blib/lib/IO/Async/LoopTests.pm line 267. # got: '0' # expected: '1' # Looks like you failed 1 test of 20. t/10loop-poll-io.t ........... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/20 subtests t/10loop-select-io.t ......... ok t/11loop-poll-timer.t ........ ok t/11loop-select-timer.t ...... ok t/12loop-poll-signal.t ....... ok t/12loop-select-signal.t ..... ok t/13loop-poll-idle.t ......... ok t/13loop-select-idle.t ....... ok t/14loop-poll-child.t ........ ok t/14loop-select-child.t ...... ok t/15loop-poll-control.t ...... ok t/15loop-select-control.t .... ok t/18loop-poll-legacy.t ....... ok t/18loop-select-legacy.t ..... ok t/19test.t ................... ok t/20handle.t ................. ok t/21stream-1read.t ........... ok t/21stream-2write.t .......... ok t/21stream-3split.t .......... ok t/22timer-absolute.t ......... ok t/22timer-countdown.t ........ ok t/22timer-periodic.t ......... ok t/23signal.t ................. ok t/24listener.t ............... ok t/25socket.t ................. ok t/26pid.t .................... ok t/30loop-fork.t .............. ok t/31loop-spawnchild.t ........ ok t/32loop-spawnchild-setup.t .. ok t/33process.t ................ ok t/34process-handles.t ........ ok t/35loop-openchild.t ......... ok t/36loop-runchild.t .......... ok t/37loop-child-root.t ........ skipped: not root # Failed test '$code->workers is now 0' # at t/41detachedcode-call.t line 175. # got: '1' # expected: '0' # Looks like you failed 1 test of 33. t/41detachedcode-call.t ...... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/33 subtests t/41function.t ............... ok t/50resolver.t ............... ok t/51loop-connect.t ........... ok t/52loop-listen.t ............ ok t/53loop-extend-connect.t .... ok t/60protocol.t ............... ok t/60sequencer-client.t ....... ok t/60sequencer-server.t ....... ok t/61protocol-stream.t ........ ok t/62protocol-linestream.t .... ok t/99pod.t .................... skipped: Test::Pod 1.00 required for testing POD Test Summary Report ------------------- t/10loop-poll-io.t (Wstat: 256 Tests: 20 Failed: 1) Failed test: 13 Non-zero exit status: 1 t/41detachedcode-call.t (Wstat: 256 Tests: 33 Failed: 1) Failed test: 23 Non-zero exit status: 1 Files=52, Tests=1247, 78 wallclock secs ( 0.42 usr 0.35 sys + 3.45 cusr 2.67 csys = 6.89 CPU) Result: FAIL Failed 2/52 test programs. 2/1247 subtests failed. *** Error code 255 Stop. make: stopped in /home/tom/.cpan/build/IO-Async-0.38-dic50f Summary of my perl5 (revision 5 version 10 subversion 1) configuration: Platform: osname=netbsd, osvers=netbsd, archname=amd64-netbsd uname='netbsd 5.1 netbsd 5.1 (generic) #0: sat nov 6 13:19:33 utc 2010 builds@b6.netbsd.org:homebuildsabnetbsd-5-1-releaseamd64201011061943z-objhomebuildsabnetbsd-5-1-releasesrcsysarchamd64compilegeneric amd64 ' config_args='-de -Dprefix=/home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult -Uusemultiplicity' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include', optimize='-O', cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include' ccversion='', gccversion='4.1.3 20080704 prerelease (NetBSD nb2 20081120)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -fstack-protector -L/usr/pkg/lib' libpth=/usr/pkg/lib /lib /usr/lib libs=-lm -lcrypt -lutil -lc -lposix perllibs=-lm -lcrypt -lutil -lc -lposix libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E ' cccdlflags='-DPIC -fPIC ', lddlflags='--whole-archive -shared -L/usr/pkg/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO Built under netbsd Compiled at Feb 6 2011 04:10:15 %ENV: PERL5LIB="/home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/local-lib/lib/perl5/amd64-netbsd:/home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/local-lib/lib/perl5:/home/tom/.cpan:/home/tom/.cpan/lib:/home/tom/.cpan/lib/perl5:/home/tom/.cpan/lib/perl5/site_perl:/home/tom/.cpan/lib/perl5/5.10.0/i486-linux-gnu-thread-multi:" PERL_LOCAL_LIB_ROOT="/home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/local-lib" PERL_MB_OPT="--install_base /home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/local-lib" PERL_MM_OPT="INSTALL_BASE=/home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/local-lib" PERL_MM_USE_DEFAULT="1" @INC: /home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/local-lib/lib/perl5/amd64-netbsd /home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/local-lib/lib/perl5/amd64-netbsd /home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/local-lib/lib/perl5 /home/tom/.cpan /home/tom/.cpan/lib /home/tom/.cpan/lib/perl5 /home/tom/.cpan/lib/perl5/site_perl /home/tom/.cpan/lib/perl5/5.10.0/i486-linux-gnu-thread-multi /home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/lib/5.10.1/amd64-netbsd /home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/lib/5.10.1 /home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/lib/site_perl/5.10.1/amd64-netbsd /home/tom/perl5/perlbrew/perls/perl-5.10.1-nomult/lib/site_perl/5.10.1 .
Subject: t/10loop-poll-io.t fails on NetBSD5.1 amd64
On Sun Feb 06 01:28:28 2011, TEAM wrote: Show quoted text
> Got a couple of test failures on a new NetBSD5.1 install, the "$hangup > after socket close" one in t/10loop-poll-io.t is reproducible and the > "$code->workers is now 0" gave me a different error first time I ran it > (timing issue perhaps?) but didn't have the output logged that time > unfortunately, will update if I can trigger that again.
The $code->workers one seems to be an unreliable race condition sort of bug; I've raised it separately here: https://rt.cpan.org/Ticket/Display.html?id=65502 I'll adjust the subject of this bug for just the 10loop-poll-io.t failure. -- Paul Evans
On Sun Feb 06 01:28:28 2011, TEAM wrote: Show quoted text
> Got a couple of test failures on a new NetBSD5.1 install, the "$hangup > after socket close" one in t/10loop-poll-io.t is reproducible and the > "$code->workers is now 0" gave me a different error first time I ran it > (timing issue perhaps?) but didn't have the output logged that time > unfortunately, will update if I can trigger that again.
So, after further investigation this whole POLLHUP thing appears to be rather non-portable: http://www.greenend.org.uk/rjk/2001/06/poll.html Since on_hangup is entirely undocumented, unused internally, and newly experimental, I've decided to make it a Linux-only feature. Since the code is there and does work on Linux, we might as well leave it in in case anyone wants to use it, but with the portability caveat that "it won't work elsewhere". So now it's marked unsupported when not on Linux. Patched in repo, will be in 0.39. -- Paul Evans