Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: d.clark [...] cqu.edu.au
nick.humphries [...] whitecross.com
Cc:
AdminCc:

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



Subject: make test fails in t/03-packet
Hiya, "make test" fails like so: PERL_DL_NONLAZY=1 /bin/perl -Iblib/arch -Iblib/lib -I/usr/local/perl/lib/5.6.1/sun4-solaris-thread-multi -I/usr/local/perl/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/8Can't use string ("k-") as a HASH ref while "strict refs" in use at blib/lib/Net/SSH/Perl/Packet.pm line 332. t/03-packet.........dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 2-8 Failed 7/8 tests, 12.50% okay t/04-config.........ok t/05-cipher.........ok Failed Test Status Wstat Total Fail Failed List of Failed -------------------------------------------------------------------------------- t/03-packet.t 2 512 8 7 87.50% 2-8 Failed 1/5 test scripts, 80.00% okay. 7/103 subtests failed, 93.20% okay. make: *** [test_dynamic] Error 29 uname -a returns: SunOS ngcp4 5.6 Generic_105181-29 sun4u sparc perl -v returns: This is perl, v5.6.1 built for sun4-solaris-thread-multi (with 1 registered patch, see perl -V for more detail) Copyright 1987-2001, Larry Wall Binary build 630 provided by ActiveState Tool Corp. http://www.ActiveState.com Built 23:31:40 Oct 31 2001 Have so far installed the following libraries: ../gmp-4.1.tar.gz ../pari-2.1.3.tar.gz Have so far installed the following Perl modules: ../CPAN-1.61.tar.gz ../Crypt-DH-0.03.tar.gz ../Crypt-DSA-0.12.tar.gz ../Crypt-Random-1.11.tar.gz ../Math-GMP-2.03.tar.gz ../Math-Pari-2.010305.tar.gz ../Net-SCP-0.06.tar.gz ../Net-SFTP-0.05.tar.gz ../Net-SSH-0.05.tar.gz Any ideas/suggestions gratefully received. Many thanks, Nick
From: nick.humphries [...] whitecross.com
[guest - Thu Jun 6 09:08:24 2002]: Show quoted text
> t/03-packet.........ok 1/8Can't use string ("k-") as a HASH ref while > "strict refs" in use at blib/lib/Net/SSH/Perl/Packet.pm line 332.
This string varies every time "make test" is run. Looks like garbage data. Nick
From: johanl A T bahnhof.se
Show quoted text
> t/03-packet.........ok 1/8Can't use string ("k-") as a HASH ref while > "strict refs" in use at blib/lib/Net/SSH/Perl/Packet.pm line 332.
v5.6.1 built for i686-linux-thread-multi I get the same when I chose Only SSH2 during configuration. When chosing Both SSH1 and SSH2 it works mighty fine! /J
Hi Dave, I was wondering whether I could ask your advice on a test harness error I am receiving when compiling your latest version of Net::SSH::Perl 1.24? The installation process I have included the output far below (with exception of the make process itself for brevity - there were no errors there). The version of perl I am using is the standard one distributed with Fedora Core 1. The output from perl -V is shown immediately below. I have also tried 5.8.2 & 5.8.1 source from www.perl.com with the same error. Just wondering if you have any advice or suggestions on how I can get around the problem? I have found your module very useful as I have been using it for a perl script that I use to execute the same command concurrently on multiple systems. My thanks for your efforts. :) Kind Regards, Damien Clark. [root@colony2 Net-SSH-Perl-1.24]# which perl /usr/bin/perl [root@colony2 Net-SSH-Perl-1.24]# perl -V Summary of my perl5 (revision 5.0 version 8 subversion 1) configuration: Platform: osname=linux, osvers=2.4.21-2.elsmp, archname=i386-linux-thread-multi uname='linux daffy.perf.redhat.com 2.4.21-2.elsmp #1 smp wed sep 17 15:00:55 edt 2003 i686 i686 i386 gnulinux ' config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686 -Dversion=5.8.1 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.1 -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dinc_version_list=5.8.0/i386-linux-thread-multi 5.8.0 -Dpager=/usr/bin/less -isr' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm', optimize='-O2 -g -pipe -march=i386 -mcpu=i686', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm' ccversion='', gccversion='3.3.1 20030930 (Red Hat Linux 3.3.1-6)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.2' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.1/i386-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Built under linux Compiled at Oct 15 2003 10:52:47 @INC: /usr/lib/perl5/5.8.1/i386-linux-thread-multi /usr/lib/perl5/5.8.1 /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.1/i386-linux-thread-multi /usr/lib/perl5/5.8.1 . ------------------------------------------------------------- [root@colony2 Net-SSH-Perl-1.24]# 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] 2 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] Checking for required modules Digest::SHA1 .................ok Math::Pari ...................ok MIME::Base64 .................ok Digest::HMAC_MD5 .............ok Digest::HMAC_SHA1 ............ok Crypt::IDEA ..................ok Crypt::DSA ...................ok Digest::MD5 ..................ok Crypt::DH ....................ok Convert::PEM .................ok IO::Socket ...................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 [root@colony2 Net-SSH-Perl-1.24]# make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01-compile.....ok t/02-buffer......ok t/03-packet......ok 1/8Can't use string ("%oXj") as a HASH ref while "strict refs" in use at /tmp/Net-SSH-Perl-1.24/blib/lib/Net/SSH/Perl/Packet.pm line 335. t/03-packet......dubious Test returned status 2 (wstat 512, 0x200) Scalar found where operator expected at (eval 152) line 1, near "'int' $__val" (Missing operator before $__val?) DIED. FAILED tests 2-8 Failed 7/8 tests, 12.50% 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 2 512 8 14 175.00% 2-8 Failed 1/6 test scripts, 83.33% okay. 7/116 subtests failed, 93.97% okay. make: *** [test_dynamic] Error 255
Date: Thu, 18 Dec 2003 23:00:15 -0600 (CST)
From: Dave Rolsky <autarch [...] urth.org>
To: Guest via RT <bug-Net-SSH-Perl [...] rt.cpan.org>
Subject: Re: [cpan #4717]
RT-Send-Cc:
On Thu, 18 Dec 2003, Guest via RT wrote: Show quoted text
> I was wondering whether I could ask your advice on a test harness error > I am receiving when compiling your latest version of Net::SSH::Perl > 1.24? > > The installation process I have included the output far below (with > exception of the make process itself for brevity - there were no errors > there). The version of perl I am using is the standard one distributed > with Fedora Core 1. The output from perl -V is shown immediately below. > I have also tried 5.8.2 & 5.8.1 source from www.perl.com with the same > error. > > Just wondering if you have any advice or suggestions on how I can get > around the problem? I have found your module very useful as I have been > using it for a perl script that I use to execute the same command > concurrently on multiple systems. My thanks for your efforts. :)
Well, I'm just the new maintainer. You can think me when I clean up all the bugs the last maintainer left ;) Show quoted text
> t/03-packet......ok 1/8Can't use string ("%oXj") as a HASH ref while "strict refs" in use at /tmp/Net-SSH-Perl-1.24/blib/lib/Net/SSH/Perl/Packet.pm line 335. > t/03-packet......dubious > Test returned status 2 (wstat 512, 0x200) > Scalar found where operator expected at (eval 152) line 1, near "'int' $__val" > (Missing operator before $__val?) > DIED. FAILED tests 2-8 > Failed 7/8 tests, 12.50% okay
Wow, that is so incredibly weird. That just shouldn't happen, since it's this: sub AUTOLOAD { my $pack = shift; (my $meth = $AUTOLOAD) =~ s/.*://; return if $meth eq "DESTROY"; if ( $pack->{data}->can($meth) ) { $pack->{data}->$meth(@_); } else { croak "Can't dispatch method $meth to Net::SSH::Perl::Buffer object."; } } Basically, it's saying that $pack is the string "%oXj". But if $pack is a string, how the heck was it the first argument to a method? Are you sure the Perl on your system isn't broken? I can't imagine how else this could happen. You said you tried this with version of Perl you compiled yourself and got the same problem? Can you do this. Add the line: Carp::cluck("AUTOLOAD"); as the _first_ line of the AUTOLOAD sub for Net::SSH::Perl::Packet and let me know what it says. -dave /*======================= House Absolute Consulting www.houseabsolute.com =======================*/
Hi Dave, Have just installed String::CRC32, and the make test and install worked perfectly. Many thanks for your help. Cheers, Damien. [autarch@urth.org - Fri Dec 19 00:00:22 2003]: Show quoted text
> On Thu, 18 Dec 2003, Guest via RT wrote: >
> > I was wondering whether I could ask your advice on a test harness
> error
> > I am receiving when compiling your latest version of Net::SSH::Perl > > 1.24? > > > > The installation process I have included the output far below (with > > exception of the make process itself for brevity - there were no
> errors
> > there). The version of perl I am using is the standard one
> distributed
> > with Fedora Core 1. The output from perl -V is shown immediately
> below.
> > I have also tried 5.8.2 & 5.8.1 source from www.perl.com with the
> same
> > error. > > > > Just wondering if you have any advice or suggestions on how I can
> get
> > around the problem? I have found your module very useful as I have
> been
> > using it for a perl script that I use to execute the same command > > concurrently on multiple systems. My thanks for your efforts. :)
> > Well, I'm just the new maintainer. You can think me when I clean up > all > the bugs the last maintainer left ;) >
> > t/03-packet......ok 1/8Can't use string ("%oXj") as a HASH ref
while Show quoted text
> "strict refs" in use at /tmp/Net-SSH-Perl- > 1.24/blib/lib/Net/SSH/Perl/Packet.pm line 335.
> > t/03-packet......dubious > > Test returned status 2 (wstat 512, 0x200) > > Scalar found where operator expected at (eval 152) line 1, near
> "'int' $__val"
> > (Missing operator before $__val?) > > DIED. FAILED tests 2-8 > > Failed 7/8 tests, 12.50% okay
> > Wow, that is so incredibly weird. That just shouldn't happen, since > it's > this: > > sub AUTOLOAD { > my $pack = shift; > (my $meth = $AUTOLOAD) =~ s/.*://; > return if $meth eq "DESTROY"; > > if ( $pack->{data}->can($meth) ) { > $pack->{data}->$meth(@_); > } > else { > croak "Can't dispatch method $meth to Net::SSH::Perl::Buffer > object."; > } > } > > Basically, it's saying that $pack is the string "%oXj". But if $pack > is a string, how the heck was it the first argument to a method? > > Are you sure the Perl on your system isn't broken? I can't imagine > how else this could happen. > > You said you tried this with version of Perl you compiled yourself
and Show quoted text
> got > the same problem? > > Can you do this. Add the line: > > Carp::cluck("AUTOLOAD"); > > as the _first_ line of the AUTOLOAD sub for Net::SSH::Perl::Packet
and Show quoted text
> let > me know what it says. > > > -dave > > /*======================= > House Absolute Consulting > www.houseabsolute.com > =======================*/