develooper Front page | perl.perl5.porters | Postings from May 2008

Re: [perl #54908] Perl 5.10 segmentation fault using Net::SSH2::Channel

Thread Previous | Thread Next
From:
Ævar Arnfjörð Bjarmason
Date:
May 28, 2008 08:54
Subject:
Re: [perl #54908] Perl 5.10 segmentation fault using Net::SSH2::Channel
Message ID:
51dd1af80805280854kf4af85bp98544f8d14bf4086@mail.gmail.com
It fails here:

    if(sv_isobject(ST(0)) && (SvTYPE(SvRV(ST(0))) == SVt_PVGV))
        ch = (SSH2_CHANNEL *)SvIVX((SV*)SvRV(ST(0)))

It's using the PV slot of a GV to store a pointer to a custom
datastructure (similar to Math::Pari if I'm not mistaken). This
results in a failed assertion (but not a segfault) on my system:

sh-3.1$ perl5.11.0  -Mblib -MNet::SSH2 -E 'my $ssh2 = Net::SSH2->new;
$ssh2->connect(q[localhost]) or die $!; if
($ssh2->auth_password(qw(avar password))) { my $chan = $ssh2->channel;
$chan->exec(q[date]) }'
perl5.11.0: SSH2.c:2350: XS_Net__SSH2__Channel_process: Assertion
`!((((_svi)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) &&
(((svtype)((_svi)->sv_flags & 0xff)) == SVt_PVGV ||
((svtype)((_svi)->sv_flags & 0xff)) == SVt_PVLV))' failed.
Aborted

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About