Bug#528154: libpadwalker-perl: using re.pl with SOAP::Lite causes a segfault

Ryan Niebur ryanryan52 at gmail.com
Mon May 11 03:53:45 UTC 2009


Package: libpadwalker-perl
Version: 1.7-1
Severity: normal

This bug has been annoying me for a while now...

While I've shown it reproduced here with debbugs, it also happens to
me when trying to do this with a program at work, so presumably it
always happens when using SOAP::Lite in re.pl.

$c->get_status(514390)->result() still works, so it doesn't actually
prevent me from using re.pl with SOAP::Lite, it's just an annoyance.

Looking at the backtrace, I'm guessing it's padwalker's fault, tho I
really have no clue.

I am using some included plugins for re.pl as well as some that I
wrote, but if I disable them all I still get the segfault.

Versions of packages involved:
libdevel-repl-perl: 1.003006-1
libsoap-lite-perl: 0.710.08-2
perl: 5.10.0-22

And here's how I reproduced the problem:

bash jade ~ $ ulimit -c unlimited
bash jade ~ $ re.pl
re.pl jade ~ $ use SOAP::Lite;

re.pl jade ~ $ my $c = new SOAP::Lite->uri('/Debbugs/SOAP')->proxy('http://bugs.debian.org/cgi-bin/soap.cgi');
my ($parser);
$parser = undef;
$SOAP_Lite1 = SOAP::Lite=HASH(0xae88a88);

re.pl jade ~ $ $c->get_status(514390)
Segmentation fault (core dumped)
bash jade ~ $ ls core
core
bash jade ~ $ gdb /usr/bin/perl -c core
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/i686/cmov/libdl.so.2...done.
Loaded symbols for /lib/i686/cmov/libdl.so.2
Reading symbols from /lib/i686/cmov/libm.so.6...done.
Loaded symbols for /lib/i686/cmov/libm.so.6
Reading symbols from /lib/i686/cmov/libpthread.so.0...done.
Loaded symbols for /lib/i686/cmov/libpthread.so.0
Reading symbols from /lib/i686/cmov/libc.so.6...done.
Loaded symbols for /lib/i686/cmov/libc.so.6
Reading symbols from /lib/i686/cmov/libcrypt.so.1...done.
Loaded symbols for /lib/i686/cmov/libcrypt.so.1
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/perl/5.10.0/auto/List/Util/Util.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/List/Util/Util.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/List/Util/Util.so
Reading symbols from /usr/lib/perl5/auto/Devel/GlobalDestruction/GlobalDestruction.so...done.
Loaded symbols for /usr/lib/perl5/auto/Devel/GlobalDestruction/GlobalDestruction.so
Reading symbols from /usr/lib/perl5/auto/Params/Util/Util.so...done.
Loaded symbols for /usr/lib/perl5/auto/Params/Util/Util.so
Reading symbols from /usr/lib/perl5/auto/Sub/Name/Name.so...done.
Loaded symbols for /usr/lib/perl5/auto/Sub/Name/Name.so
Reading symbols from /usr/lib/perl/5.10.0/auto/B/B.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/B/B.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/B/B.so
Reading symbols from /usr/lib/perl5/auto/Class/MOP/MOP.so...done.
Loaded symbols for /usr/lib/perl5/auto/Class/MOP/MOP.so
Reading symbols from /usr/lib/perl5/auto/List/MoreUtils/MoreUtils.so...done.
Loaded symbols for /usr/lib/perl5/auto/List/MoreUtils/MoreUtils.so
Reading symbols from /usr/lib/perl5/auto/Term/ReadLine/Gnu/Gnu.so...done.
Loaded symbols for /usr/lib/perl5/auto/Term/ReadLine/Gnu/Gnu.so
Reading symbols from /lib/libreadline.so.5...done.
Loaded symbols for /lib/libreadline.so.5
Reading symbols from /lib/libncurses.so.5...done.
Loaded symbols for /lib/libncurses.so.5
Reading symbols from /usr/lib/perl5/auto/Cwd/Cwd.so...done.
Loaded symbols for /usr/lib/perl5/auto/Cwd/Cwd.so
Reading symbols from /usr/lib/perl/5.10.0/auto/Data/Dumper/Dumper.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/Data/Dumper/Dumper.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/Data/Dumper/Dumper.so
Reading symbols from /usr/lib/perl5/auto/Params/Validate/Validate.so...done.
Loaded symbols for /usr/lib/perl5/auto/Params/Validate/Validate.so
Reading symbols from /usr/lib/perl5/auto/PadWalker/PadWalker.so...done.
Loaded symbols for /usr/lib/perl5/auto/PadWalker/PadWalker.so
Reading symbols from /usr/lib/perl5/auto/Devel/Caller/Caller.so...done.
Loaded symbols for /usr/lib/perl5/auto/Devel/Caller/Caller.so
Reading symbols from /usr/lib/perl5/auto/Devel/LexAlias/LexAlias.so...done.
Loaded symbols for /usr/lib/perl5/auto/Devel/LexAlias/LexAlias.so
Reading symbols from /usr/lib/perl5/auto/B/Utils/Utils.so...done.
Loaded symbols for /usr/lib/perl5/auto/B/Utils/Utils.so
Reading symbols from /usr/lib/perl/5.10.0/auto/IO/IO.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/IO/IO.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/IO/IO.so
Reading symbols from /usr/lib/perl/5.10.0/auto/Fcntl/Fcntl.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/Fcntl/Fcntl.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/Fcntl/Fcntl.so
Reading symbols from /usr/lib/perl5/auto/Data/Dump/Streamer/Streamer.so...done.
Loaded symbols for /usr/lib/perl5/auto/Data/Dump/Streamer/Streamer.so
Reading symbols from /usr/lib/perl/5.10.0/auto/re/re.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/re/re.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/re/re.so
Reading symbols from /usr/lib/perl/5.10.0/auto/Hash/Util/Util.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/Hash/Util/Util.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/Hash/Util/Util.so
Reading symbols from /usr/lib/perl5/auto/Clone/Clone.so...done.
Loaded symbols for /usr/lib/perl5/auto/Clone/Clone.so
Reading symbols from /usr/lib/perl/5.10.0/auto/Digest/MD5/MD5.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/Digest/MD5/MD5.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/Digest/MD5/MD5.so
Reading symbols from /usr/lib/perl5/auto/Glib/Glib.so...done.
Loaded symbols for /usr/lib/perl5/auto/Glib/Glib.so
Reading symbols from /usr/lib/libgobject-2.0.so.0...done.
Loaded symbols for /usr/lib/libgobject-2.0.so.0
Reading symbols from /usr/lib/libglib-2.0.so.0...done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /usr/lib/libgthread-2.0.so.0...done.
Loaded symbols for /usr/lib/libgthread-2.0.so.0
Reading symbols from /lib/i686/cmov/librt.so.1...done.
Loaded symbols for /lib/i686/cmov/librt.so.1
Reading symbols from /usr/lib/libpcre.so.3...done.
Loaded symbols for /usr/lib/libpcre.so.3
Reading symbols from /lib/i686/cmov/libnss_compat.so.2...done.
Loaded symbols for /lib/i686/cmov/libnss_compat.so.2
Reading symbols from /lib/i686/cmov/libnsl.so.1...done.
Loaded symbols for /lib/i686/cmov/libnsl.so.1
Reading symbols from /lib/i686/cmov/libnss_nis.so.2...done.
Loaded symbols for /lib/i686/cmov/libnss_nis.so.2
Reading symbols from /lib/i686/cmov/libnss_files.so.2...done.
Loaded symbols for /lib/i686/cmov/libnss_files.so.2
Reading symbols from /usr/lib/perl/5.10.0/auto/Sys/Hostname/Hostname.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/Sys/Hostname/Hostname.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/Sys/Hostname/Hostname.so
Reading symbols from /usr/lib/perl/5.10.0/auto/Storable/Storable.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/Storable/Storable.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/Storable/Storable.so
Reading symbols from /usr/lib/perl/5.10.0/auto/Socket/Socket.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/Socket/Socket.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/Socket/Socket.so
Reading symbols from /lib/i686/cmov/libnss_dns.so.2...done.
Loaded symbols for /lib/i686/cmov/libnss_dns.so.2
Reading symbols from /lib/i686/cmov/libresolv.so.2...done.
Loaded symbols for /lib/i686/cmov/libresolv.so.2
Reading symbols from /usr/lib/perl/5.10.0/auto/File/Glob/Glob.so...Reading symbols from /usr/lib/debug/usr/lib/perl/5.10.0/auto/File/Glob/Glob.so...done.
done.
Loaded symbols for /usr/lib/perl/5.10/auto/File/Glob/Glob.so
Reading symbols from /usr/lib/perl5/auto/Compress/Raw/Zlib/Zlib.so...done.
Loaded symbols for /usr/lib/perl5/auto/Compress/Raw/Zlib/Zlib.so
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/perl5/auto/XML/Parser/Expat/Expat.so...done.
Loaded symbols for /usr/lib/perl5/auto/XML/Parser/Expat/Expat.so
Reading symbols from /usr/lib/libexpat.so.1...done.
Loaded symbols for /usr/lib/libexpat.so.1
Core was generated by `perl /usr/bin/re.pl'.
Program terminated with signal 11, Segmentation fault.
[New process 30200]
#0  Perl_av_fetch (my_perl=0x9dde008, av=0x0, key=0, lval=0) at av.c:200
200     av.c: No such file or directory.
        in av.c
(gdb) bt
#0  Perl_av_fetch (my_perl=0x9dde008, av=0x0, key=0, lval=0) at av.c:200
#1  0xb7b96f49 in get_closed_over () from /usr/lib/perl5/auto/PadWalker/PadWalker.so
#2  0xb7b97488 in XS_PadWalker_closed_over () from /usr/lib/perl5/auto/PadWalker/PadWalker.so
#3  0x080b3182 in Perl_pp_entersub (my_perl=0x9dde008) at pp_hot.c:2866
#4  0x080b1729 in Perl_runops_standard (my_perl=0x9dde008) at run.c:38
#5  0x080abbc8 in Perl_call_sv (my_perl=0x9dde008, sv=0x9dfba88, flags=6) at perl.c:2653
#6  0x080abfaf in Perl_call_list (my_perl=0x9dde008, oldscope=2, paramList=0x9dfbb38) at perl.c:5202
#7  0x08064c9f in S_process_special_blocks (my_perl=0x9dde008, fullname=<value optimized out>, gv=0x9dfbb18, cv=0x9dfba88) at op.c:5631
#8  0x08072b28 in Perl_newATTRSUB (my_perl=0x9dde008, floor=27, o=0x9e00560, proto=0x0, attrs=0x0, block=0x9e00520) at op.c:5604
#9  0x08071a20 in Perl_utilize (my_perl=0x9dde008, aver=1, floor=27, version=0x0, idop=0x9dfcdd8, arg=0x9e002f8) at op.c:3757
#10 0x0815edd8 in Perl_yyparse (my_perl=0x9dde008) at perly.y:654
#11 0x080ae776 in S_parse_body (my_perl=0x9dde008, env=0x0, xsinit=0x8063df0 <xs_init>) at perl.c:2237
#12 0x080af725 in perl_parse (my_perl=0x9dde008, xsinit=0x8063df0 <xs_init>, argc=2, argv=0xbf8e8b24, env=0x0) at perl.c:1657
#13 0x08063da1 in main (argc=2, argv=0xbf8e8b24, env=0xbf8e8b30) at perlmain.c:111
(gdb) 

-- 
_________________________
Ryan Niebur
ryanryan52 at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20090510/153d05bd/attachment.pgp>


More information about the pkg-perl-maintainers mailing list