Hi fellow monks. I have a problem with Test::Harness. It deadlocks in Test::Harness::Iterator while it is testing Pod. It happens in a lot of CPAN modules. The strange thing is, if I set the new Module in @INC and run the test directly it succeeds.

Can anyone give me insight in what might cause the deadlock?

This is a trace to HTML::Tagset
$ cd HTML-Tagset-3.10 $ make test /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'bli +b/lib', 'blib/arch')" t/*.t t/00_about_verbose....ok t/01_old_junk.........ok t/pod................. <--- hangs # the test succeeds without Test::Harness $ perl -I `pwd`/blib/lib -T t/pod.t 1..1 ok 1 - blib/lib/HTML/Tagset.pm $ PERLDB_OPTS="AutoTrace=1 NonStop=1 Frame=2" perl -MExtUtils::Command +::MM -de "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t ... entering Test::Harness::Straps::_reset_file_state 605: my($self) = shift; 607: delete @{$self}{qw(max skip_all todo too_many_test +s)}; 607: delete @{$self}{qw(max skip_all todo too_many_test +s)}; 608: $self->{line} = 0; 609: $self->{saw_header} = 0; 610: $self->{saw_bailout}= 0; 611: $self->{lone_not_line} = 0; 612: $self->{bailout_reason} = ''; 613: $self->{'next'} = 1; exited Test::Harness::Straps::_reset_file_state 119: $self->{file} = $name; 120: my %totals = ( 121: max => 0, 122: seen => 0, 133: $self->{totals}{$name} = \%totals; 134: while( defined(my $line = $it->next) ) { entering Test::Harness::Iterator::FH::next 57: my $fh = $_[0]->{fh}; 60: return scalar <$fh>; <-- ultimately hangs here
This is my current Perl ( happens also with latest perl5.8.8 delivered with cygwin. )
$ perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=cygwin, osvers=1.5.21(0.15642), archname=cygwin-thread-mult +i uname='cygwin_nt-5.1 avenger 1.5.21(0.15642) 2006-07-30 14:21 i686 + cygwin ' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemulti +plicity=de fine useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=y, bincompat5005=undef Compiler: cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -p +ipe -Wdecl aration-after-statement -DDEBUGGING', optimize='-O2', cppflags='-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -Wdecl +aration-af ter-statement -DDEBUGGING' ccversion='', gccversion='3.4.4 (cygming special) (gdc 0.12, using + dmd 0.125 )', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1 +2 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', + lseeksize =8 alignbytes=8, prototype=define Linker and Libraries: ld='ld2', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /usr/lib /lib libs=-lgdbm -ldl -lcrypt -lgdbm_compat perllibs=-ldl -lcrypt -lgdbm_compat libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags=' -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY MYMALLOC PERL_IMPLICIT_CONTEXT PERL_USE_SAFE_PUTENV USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under cygwin Compiled at Sep 9 2006 14:16:59

In reply to Deadlock in Test::Harness::Iterator by codeacrobat

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.