Skip Menu |

This queue is for tickets about the Net-SSH-Perl CPAN distribution.

Report information
The Basics
Id: 6101
Status: resolved
Priority: 0/
Queue: Net-SSH-Perl

People
Owner: Nobody in particular
Requestors: John.Tobin [...] cs.tcd.ie
tmiller [...] tobymiller.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 1.25
Fixed in: 1.31



Subject: make test fails; t/03-packet.t test 2 fails and later tests die.
Hi there, I'm trying to install Net::SSH::Perl version 1.25 on Perl 5.6.1 via the CPAN shell, and make fails in t/03-packet.t test 2 and a later test dies. About a dozen prerequisite modules were installed just before this module so most of the modules it directly depends on should be up to date. Perl -V: Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=solaris, osvers=2.8, archname=sun4-solaris uname='sunos burke 5.8 generic_108528-12 sun4u sparc ' config_args='-Dcc=gcc -B/usr/ccs/bin/ -Dprefix=/usr/local/depot/perl-5.6.1' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='gcc -B/usr/ccs/bin/', ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O', cppflags='-fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='2.95.2 19991024 (release)', gccosandvers='solaris2.7' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, usemymalloc=y, prototype=define Linker and Libraries: ld='gcc -B/usr/ccs/bin/', ldflags =' -L/usr/local/lib ' libpth=/usr/local/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' uname -a: SunOS relay 5.9 Generic_112233-04 sun4u sparc Characteristics of this binary (from libperl): Compile-time options: USE_LARGE_FILES Built under solaris Compiled at May 29 2002 11:19:16 @INC: /usr/local/depot/perl-5.6.1/lib/5.6.1/sun4-solaris /usr/local/depot/perl-5.6.1/lib/5.6.1 /usr/local/depot/perl-5.6.1/lib/site_perl/5.6.1/sun4-solaris /usr/local/depot/perl-5.6.1/lib/site_perl/5.6.1 /usr/local/depot/perl-5.6.1/lib/site_perl . Short error messages: PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/depot/perl-5.6.1/lib/5.6.1/sun4-solaris -I/usr/local/depot/perl-5.6.1/lib/5.6.1 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t t/01-compile.....ok t/02-buffer......ok t/03-packet......ok 1/10syswrite() on unopened filehandle FH at blib/lib/Net/SSH/Perl/Packet.pm line 276. Use of uninitialized value in numeric eq (==) at blib/lib/Net/SSH/Perl/Packet.pm line 52. Connection closed by remote host. at t/03-packet.t line 44 # Looks like you planned 10 tests but only ran 1. # Looks like your test died just after 1. t/03-packet......dubious Test returned status 255 (wstat 65280, 0xff00) Prototype mismatch: sub Test::Harness::_LARGEFILE_SOURCE vs () at (eval 25) line 1. DIED. FAILED tests 2-10 Failed 9/10 tests, 10.00% okay t/04-config......ok t/05-cipher......ok t/06-circular....ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/03-packet.t 255 65280 10 9 90.00% 2-10 Failed 1/6 test scripts, 83.33% okay. 9/104 subtests failed, 91.35% okay. Long error messages (changed TEST_VERBOSE in MAkefile to 1): PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/depot/perl-5.6.1/lib/5.6.1/sun4-solaris -I/usr/local/depot/perl-5.6.1/lib/5.6.1 -e 'use Test::Harness qw(&runtests $verbose); $verbose=1; runtests @ARGV;' t/*.t t/01-compile.....1..1 ok 1 - use Net::SSH::Perl; ok t/02-buffer......1..19 ok 1 - make a buffer ok 2 - buffer length is 7 ok 3 - get_str returns "foo" ok 4 - offset is 7 ok 5 - get_str returns 0 ok 6 - get_int32 returns 999,99,999 ok 7 - get_int8 returns 2 ok 8 - get_char returns "a" ok 9 - get_mp_int returns very large number ok 10 - offset is 0 after empty() ok 11 - length is 0 after empty() ok 12 - bytes is "" after empty() ok 13 - length is 6 after append ok 14 - bytes is "foobar" after append ok 15 - length is 0 after empty() again ok 16 - dump returns "" ok 17 - get_int16 returns 129 ok 18 - dump returns "00 81" ok 19 - dump(1) returns "81" ok t/03-packet......1..10 ok 1 - created a packet syswrite() on unopened filehandle FH at blib/lib/Net/SSH/Perl/Packet.pm line 276. Use of uninitialized value in numeric eq (==) at blib/lib/Net/SSH/Perl/Packet.pm line 52. Connection closed by remote host. at t/03-packet.t line 44 # Looks like you planned 10 tests but only ran 1. # Looks like your test died just after 1. dubious Test returned status 255 (wstat 65280, 0xff00) Prototype mismatch: sub Test::Harness::_LARGEFILE_SOURCE vs () at (eval 25) line 1. DIED. FAILED tests 2-10 Failed 9/10 tests, 10.00% okay t/04-config......1..25 ok 1 - created config object ok 2 - port is 10000 ok 3 - port was set to 5000 ok 4 - got identity_files config ok 5 - got two entries ok 6 - first entry is "identity" ok 7 - second entry is "identity2" ok 8 - cipher is IDEA after merge ok 9 - create a new config with an overridden option ok 10 - port is 22 ok 11 - auth_rhosts is false ok 12 - host is "dummy" ok 13 - port is 5000 ok 14 - interactive is true ok 15 - make a new SSH object ok 16 - object has config ok 17 - port for object is 10000 ok 18 - hostname is foo.bar.com ok 19 - host key in object is foo.bar.com ok 20 - port is 22 after override in SSH constructor ok 21 - port is 22 after override via "options" ok 22 - auth_rhosts is false ok 23 - interactive is true ok 24 - user is "bar" ok 25 - user is "bar" after ->login ok t/05-cipher......1..48 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 ok 45 ok 46 ok 47 ok 48 ok t/06-circular....1..1 ok 1 ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/03-packet.t 255 65280 10 9 90.00% 2-10 Failed 1/6 test scripts, 83.33% okay. 9/104 subtests failed, 91.35% okay. Hopefully there's enough information here to help you identify the bug; if you need more information or tests performed just let me know.
The test works for me on 5.8.1 . Examining the code at the failing line does show that it naively assumes the socket was established then uses it. I will modify it to die instead, giving such information about the failure to connect as is available from the system. Meanwhile you need to make sure that you answered 'yes' to every question asked during install and that all prerequisites, e.g. Pari, installed correctly. Otherwise Net::SSH::Perl won't work.
Subject: make test fails (packet test fails)
It doesn't seem to matter if I use cpan or the download to install it fails the test both ways. I've managed to force install it, but I'm afraid this is causing other problems as I'm trying to use Net::SFTP and I'm specifically getting packet integrity errors. I get packet integrity errors in /var/log/secure. My system: Redhat 7.3 Kernal 2.4.7-10 Perl 5.6.1 I'm happy to perform any tests and/or give you any output that will help just let me know. Thanks, Toby Miller P.S. Here's my output: [tmiller@decido Net-SSH-Perl-1.25]$ sudo make test PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/lib/perl5/5.6.1/i386-linux -I/usr/lib/perl5/5.6.1 -e 'use Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t t/01-compile.....ok t/02-buffer......ok t/03-packet......ok 1/10syswrite() on unopened filehandle FH at blib/lib/Net/SSH/Perl/Packet.pm line 276. Use of uninitialized value in numeric eq (==) at blib/lib/Net/SSH/Perl/Packet.pm line 52. Connection closed by remote host. at t/03-packet.t line 44 # Looks like you planned 10 tests but only ran 1. # Looks like your test died just after 1. t/03-packet......dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 2-10 Failed 9/10 tests, 10.00% okay t/04-config......ok t/05-cipher......ok t/06-circular....ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/03-packet.t 255 65280 10 18 180.00% 2-10 Failed 1/6 test scripts, 83.33% okay. 9/116 subtests failed, 92.24% okay. make: *** [test_dynamic] Error 11
Here's a fix for t/03-packet.t ( it resolves http://www.nntp.perl.org/group/perl.cpan.testers/131780 ) --- 03-packet.t Sat Dec 20 04:41:40 2003 +++ 03-packet.t.NEW Wed Jun 23 02:11:10 2004 @@ -27,8 +27,9 @@ ## Okay, so you shouldn't ever be doing this, ## in real usage; override the socket with a ## special tied filehandle. -my $fh = do { local *FH; *FH }; -tie $fh, 'StringThing'; +use FileHandle; +my $fh = FileHandle->new; +tie *$fh, 'StringThing'; $ssh->{session}{sock} = $fh; {
With the patch here's how things go :)(very nice) C:\perl\.cpanplus\5.6.1\build\Net-SSH-Perl-1.25>perl Makefile.PL This is Net::SSH::Perl. As of version 1.00, Net::SSH::Perl supports both the SSH1 and SSH2 protocols natively. The two protocols have different module prerequisitives, so you need to decide which protocol(s) you plan to use. If you use one or the other, only those modules for your chosen protocol will be installed; if you choose both, all of the supporting modules will be installed. Please choose the protocols you'd like to use from the following list ("Both" is the default). [1] SSH1 [2] SSH2 [3] Both SSH1 and SSH2 Which protocol(s) do you plan to use? [3] Some of the Net::SSH::Perl ciphers depend on a Crypt:: module from CPAN. You may already have the necessary modules installed, in which case you don't need to bother with this step. Otherwise you'll need to install at least one cipher to use Net::SSH::Perl. Please choose at least one from the following list (Crypt::IDEA is the default). [1] IDEA [2] DES [3] DES3 [4] Blowfish [5] RC4 Enter your choices, separated by spaces: [1] 1 2 3 4 5 Checking for required modules Scalar::Util .................ok Digest::HMAC_MD5 .............ok Digest::HMAC_SHA1 ............ok Digest::MD5 ..................ok Crypt::IDEA ..................ok Crypt::DSA ...................ok Crypt::Blowfish ..............ok String::CRC32 ................ok Math::GMP ....................ok IO::Socket ...................ok Convert::PEM .................ok Crypt::DH ....................ok MIME::Base64 .................ok Math::Pari ...................ok Crypt::DES ...................ok Digest::SHA1 .................ok Checking for optional modules Digest::BubbleBabble .........ok Crypt::RSA ...................ok Checking if your kit is complete... Looks good Writing Makefile for Net::SSH::Perl C:\perl\.cpanplus\5.6.1\build\Net-SSH-Perl-1.25>nmake test Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. cp lib/Net/SSH/Perl/Cipher/IDEA.pm blib\lib\Net\SSH\Perl\Cipher\IDEA.pm cp lib/Net/SSH/Perl/Buffer.pm blib\lib\Net\SSH\Perl\Buffer.pm cp lib/Net/SSH/Perl/Channel.pm blib\lib\Net\SSH\Perl\Channel.pm cp lib/Net/SSH/Perl/Cipher/DES.pm blib\lib\Net\SSH\Perl\Cipher\DES.pm cp lib/Net/SSH/Perl/Auth/Rhosts_RSA.pm blib\lib\Net\SSH\Perl\Auth\Rhosts_RSA.pm cp lib/Net/SSH/Perl/Util/RSA.pm blib\lib\Net\SSH\Perl\Util\RSA.pm cp lib/Net/SSH/Perl/Util/SSH1Misc.pm blib\lib\Net\SSH\Perl\Util\SSH1Misc.pm cp lib/Net/SSH/Perl/Comp.pm blib\lib\Net\SSH\Perl\Comp.pm cp lib/Net/SSH/Perl/Cipher/CBC.pm blib\lib\Net\SSH\Perl\Cipher\CBC.pm cp lib/Net/SSH/Perl/Auth/ChallengeResponse.pm blib\lib\Net\SSH\Perl\Auth\ChallengeResponse.pm cp lib/Net/SSH/Perl/AuthMgr.pm blib\lib\Net\SSH\Perl\AuthMgr.pm cp lib/Net/SSH/Perl/Cipher/RC4.pm blib\lib\Net\SSH\Perl\Cipher\RC4.pm cp lib/Net/SSH/Perl/Util/Authfile.pm blib\lib\Net\SSH\Perl\Util\Authfile.pm cp lib/Net/SSH/Perl/Comp/Zlib.pm blib\lib\Net\SSH\Perl\Comp\Zlib.pm cp lib/Net/SSH/Perl/Kex/DH1.pm blib\lib\Net\SSH\Perl\Kex\DH1.pm cp lib/Net/SSH/Perl/Key/DSA.pm blib\lib\Net\SSH\Perl\Key\DSA.pm cp lib/Net/SSH/Perl/Kex.pm blib\lib\Net\SSH\Perl\Kex.pm cp lib/Net/SSH/Perl/Auth/RSA.pm blib\lib\Net\SSH\Perl\Auth\RSA.pm cp lib/Net/SSH/Perl/SSH1.pm blib\lib\Net\SSH\Perl\SSH1.pm cp lib/Net/SSH/Perl/Key.pm blib\lib\Net\SSH\Perl\Key.pm cp lib/Net/SSH/Perl/Cipher/CFB.pm blib\lib\Net\SSH\Perl\Cipher\CFB.pm cp lib/Net/SSH/Perl/Util/Hosts.pm blib\lib\Net\SSH\Perl\Util\Hosts.pm cp lib/Net/SSH/Perl/Util/SSH2MP.pm blib\lib\Net\SSH\Perl\Util\SSH2MP.pm cp lib/Net/SSH/Perl/ChannelMgr.pm blib\lib\Net\SSH\Perl\ChannelMgr.pm cp lib/Net/SSH/Perl/Util.pm blib\lib\Net\SSH\Perl\Util.pm cp lib/Net/SSH/Perl/Auth.pm blib\lib\Net\SSH\Perl\Auth.pm cp lib/Net/SSH/Perl/Agent.pm blib\lib\Net\SSH\Perl\Agent.pm cp lib/Net/SSH/Perl/Auth/PublicKey.pm blib\lib\Net\SSH\Perl\Auth\PublicKey.pm cp lib/Net/SSH/Perl/Key/RSA1.pm blib\lib\Net\SSH\Perl\Key\RSA1.pm cp lib/Net/SSH/Perl/Auth/Password.pm blib\lib\Net\SSH\Perl\Auth\Password.pm cp lib/Net/SSH/Perl/Key/RSA.pm blib\lib\Net\SSH\Perl\Key\RSA.pm cp lib/Net/SSH/Perl/Packet.pm blib\lib\Net\SSH\Perl\Packet.pm cp lib/Net/SSH/Perl/Cipher/DES3.pm blib\lib\Net\SSH\Perl\Cipher\DES3.pm cp lib/Net/SSH/Perl/Auth/Rhosts.pm blib\lib\Net\SSH\Perl\Auth\Rhosts.pm cp lib/Net/SSH/Perl.pm blib\lib\Net\SSH\Perl.pm cp lib/Net/SSH/Perl/Config.pm blib\lib\Net\SSH\Perl\Config.pm cp lib/Net/SSH/Perl/Handle/SSH1.pm blib\lib\Net\SSH\Perl\Handle\SSH1.pm cp lib/Net/SSH/Perl/Util/SSH1MP.pm blib\lib\Net\SSH\Perl\Util\SSH1MP.pm cp lib/Net/SSH/Perl/Auth/KeyboardInt.pm blib\lib\Net\SSH\Perl\Auth\KeyboardInt.pm cp lib/Net/SSH/Perl/Mac.pm blib\lib\Net\SSH\Perl\Mac.pm cp lib/Net/SSH/Perl/Cipher.pm blib\lib\Net\SSH\Perl\Cipher.pm cp lib/Net/SSH/Perl/SSH2.pm blib\lib\Net\SSH\Perl\SSH2.pm cp lib/Net/SSH/Perl/Constants.pm blib\lib\Net\SSH\Perl\Constants.pm cp lib/Net/SSH/Perl/Util/Term.pm blib\lib\Net\SSH\Perl\Util\Term.pm cp lib/Net/SSH/Perl/Cipher/Blowfish.pm blib\lib\Net\SSH\Perl\Cipher\Blowfish.pm cp lib/Net/SSH/Perl/Handle/SSH2.pm blib\lib\Net\SSH\Perl\Handle\SSH2.pm C:\perl\bin\perl.exe "-MExtUtils::Command::MM" "- e" "test_harness(0, 'blib\lib', 'blib\arch')" t\01-compile.t t\ 02-buffer.t t\03-packet.t t\04-config.t t\05-cipher.t t\06-circular.t t\01-compile.....ok t\02-buffer......ok t\03-packet......ok t\04-config......ok t\05-cipher......ok t\06-circular....ok All tests successful. Files=6, Tests=116, 1 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU) C:\perl\.cpanplus\5.6.1\build\Net-SSH-Perl-1.25>perl -V Summary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -Zi -DNDEBUG -DWIN32 -D_CONSOLE - DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CO NTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', optimize='-O1 -MD -Zi -DNDEBUG', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release - libpath:"C:/Perl\lib\CORE" -machine:x86' libpth="C:\Perl\lib\CORE" libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32. lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release - libpath:"C:/Perl\lib\CORE" -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 638 Built under MSWin32 Compiled at Apr 13 2004 19:24:21 @INC: C:/perl/lib C:/perl/site/lib . C:\perl\.cpanplus\5.6.1\build\Net-SSH-Perl-1.25>
From: aaron [...] FreeBSD.org
[guest - Wed Jun 23 05:13:55 2004]: Show quoted text
> Here's a fix for t/03-packet.t ( it resolves > http://www.nntp.perl.org/group/perl.cpan.testers/131780 > ) > > --- 03-packet.t Sat Dec 20 04:41:40 2003 > +++ 03-packet.t.NEW Wed Jun 23 02:11:10 2004 > @@ -27,8 +27,9 @@ > ## Okay, so you shouldn't ever be doing this, > ## in real usage; override the socket with a > ## special tied filehandle. > -my $fh = do { local *FH; *FH }; > -tie $fh, 'StringThing'; > +use FileHandle; > +my $fh = FileHandle->new; > +tie *$fh, 'StringThing'; > $ssh->{session}{sock} = $fh; > > {
Even after applying this patch, 'make test' still hangs at test 3 (packet.t) on Perl 5.8.7, FreeBSD5.4-RELEASE. Aaron
Any Idea? I'm having the same issue on Solaris 8. Ignoring the error and proceeding with the install is not a good idea. So we need to have this fix. [guest - Mon Dec 12 10:48:47 2005]: Show quoted text
> [guest - Wed Jun 23 05:13:55 2004]: >
> > Here's a fix for t/03-packet.t ( it resolves > > http://www.nntp.perl.org/group/perl.cpan.testers/131780 > > ) > > > > --- 03-packet.t Sat Dec 20 04:41:40 2003 > > +++ 03-packet.t.NEW Wed Jun 23 02:11:10 2004 > > @@ -27,8 +27,9 @@ > > ## Okay, so you shouldn't ever be doing this, > > ## in real usage; override the socket with a > > ## special tied filehandle. > > -my $fh = do { local *FH; *FH }; > > -tie $fh, 'StringThing'; > > +use FileHandle; > > +my $fh = FileHandle->new; > > +tie *$fh, 'StringThing'; > > $ssh->{session}{sock} = $fh; > > > > {
> > Even after applying this patch, 'make test' still hangs at test 3 > (packet.t) on Perl 5.8.7, FreeBSD5.4-RELEASE. > > Aaron
From: pe-bitcard [...] hindenburgring.com
Since there haven't been any updates for a while ... the problem is still present, and not only on Solaris, but also on Mac OS X 10.4.7 (Darwin) on PowerPC. I have exactly the same behaviour: make test hangs in test 03-packet. The first test is executed OK, the second test takes forever, as in the postings before. I am using Net::SSH::Perl v1.30, all required and optional modules installed and up-to-date, Math::BigInt::GMP installed as well (that was another problem), Perl 5.8.8 compiled from source. All Perl and module tests have run without failures. Is there anything I can do to help debugging this problem? Does anyone have any experience whether this is only a test issue or does it have any implications on functionality? I removed test 03-packet and the remainder of the tests ran fine, and after a force install at least a primitive new/login/cmd-cycle to an sshd works as well. I have a bad feeling about this, though. Would prefer the tests to run smoothly. Regards, Peter.
Subject: [maybe a "real" fix?] make test fails (packet test fails)
From: altblue [...] n0i.net
On Mon Dec 12 10:48:47 2005, guest wrote: Show quoted text
> > --- 03-packet.t Sat Dec 20 04:41:40 2003 > > +++ 03-packet.t.NEW Wed Jun 23 02:11:10 2004 > > @@ -27,8 +27,9 @@ > > ## Okay, so you shouldn't ever be doing this, > > ## in real usage; override the socket with a > > ## special tied filehandle. > > -my $fh = do { local *FH; *FH }; > > -tie $fh, 'StringThing'; > > +use FileHandle; > > +my $fh = FileHandle->new; > > +tie *$fh, 'StringThing'; > > $ssh->{session}{sock} = $fh; > >
> Even after applying this patch, 'make test' still hangs at test 3 > (packet.t) on Perl 5.8.7, FreeBSD5.4-RELEASE.
This "fix" won't fix anything really, as the file handle will still be "bound" to "255" (file descriptor), which in fact is the real problem for those of us which use "bash" as their shell. Bash has the (bad) habit to associate 255 (more high FDs in fact IIRC) with the controlling terminal. So, IMHO a better fix would be to choose a different file descriptor for 'StringThing', e.g.: perl -pi -e 's/255/25/' t/03-packet.t Simplifying Test::Harness' strapping: Net-SSH-Perl-1.30$ perl -e 'open my $fh, q{-|}, q{/usr/bin/perl -Iblib/lib t/03-packet.t} or die $!; print while <$fh>; close $fh' 1..10 ok 1 - created a packet [HANGS] ^C Net-SSH-Perl-1.30$ /usr/bin/perl -Iblib/lib t/03-packet.t 1..10 ok 1 - created a packet ok 2 - read a packet back ok 3 - packet type is SSH_CMSG_USER ok 4 - get_str returns "foo" ok 5 - sending success and expecting a failure message croaks ok 6 - check failure message ok 7 - read fails after disconnect ok 8 - error message on read after disconnect ok 9 - packet type is SSH_SMSG_FAILURE ok 10 - second packet type is SSH_CMSG_EOF Net-SSH-Perl-1.30$ /usr/bin/perl -pi -e 's/255/25/' t/03-packet.t Net-SSH-Perl-1.30$ perl -e 'open my $fh, q{-|}, q{/usr/bin/perl -Iblib/lib t/03-packet.t} or die $!; print while <$fh>; close $fh' 1..10 ok 1 - created a packet ok 2 - read a packet back ok 3 - packet type is SSH_CMSG_USER ok 4 - get_str returns "foo" ok 5 - sending success and expecting a failure message croaks ok 6 - check failure message ok 7 - read fails after disconnect ok 8 - error message on read after disconnect ok 9 - packet type is SSH_SMSG_FAILURE ok 10 - second packet type is SSH_CMSG_EOF 'HTH.
Thanks to all involved in this, as of version 1.31 the tests should be working again, the s/255/25/ change was made.