Skip Menu |

This queue is for tickets about the indirect CPAN distribution.

Report information
The Basics
Id: 60378
Status: resolved
Priority: 0/
Queue: indirect

People
Owner: Nobody in particular
Requestors: tokuhirom+cpan [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: 0.22



Subject: segmentation fault on indirect_ck_method
I got a segmentation falt with perl-5.12.1 + indirect.pm and perl-5.8.9 + indirect.pm. tokuhirom@gpath% /home/tokuhirom/perl5/perlbrew/perls/perl-5.12.1- DDEBUGGING/bin/perl -e 'use indirect; BEGIN { indirect::unimport(__PACKAGE__, ":fatal") }; my ($x, $y); "@{[ $x->$y ]}"' zsh: segmentation fault /home/tokuhirom/perl5/perlbrew/perls/perl- 5.12.1-DDEBUGGING/bin/perl -e tokuhirom@gpath% gdb --args /home/tokuhirom/perl5/perlbrew/perls/perl- 5.12.1-DDEBUGGING/bin/perl -e 'use indirect; BEGIN { indirect::unimport(__PACKAGE__, ":fatal") }; my ($x, $y); "@{[ $x->$y ]}"' GNU gdb (GDB) 7.1-ubuntu Copyright (C) 2010 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 "x86_64-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /home/tokuhirom/perl5/perlbrew/perls/perl-5.12.1- DDEBUGGING/bin/perl...done. (gdb) run Starting program: /home/tokuhirom/perl5/perlbrew/perls/perl-5.12.1- DDEBUGGING/bin/perl -e use\ indirect\;\ BEGIN\ \{\ indirect::unimport\(__PACKAGE__,\ \":fatal\"\)\ \}\;\ my\ \(\$x,\ \$y\)\;\ \"@\{\[\ \$x-\>\$y\ \]\}\" Program received signal SIGSEGV, Segmentation fault. indirect_ck_method (o=0x8a68d0) at indirect.xs:662 662 if (!SvPOK(sv) || (SvTYPE(sv) < SVt_PV)) (gdb) bt #0 indirect_ck_method (o=0x8a68d0) at indirect.xs:662 #1 0x000000000042943c in Perl_newUNOP (type=172, flags=1, first=0x8a82e0) at op.c:3110 #2 0x00000000004746fa in Perl_yyparse () at perly.y:742 #3 0x000000000043ba84 in S_parse_body (env=<value optimized out>, xsinit=<value optimized out>) at perl.c:2160 #4 0x000000000043e98c in perl_parse (my_perl=<value optimized out>, xsinit=<value optimized out>, argc=<value optimized out>, argv=0x7fffffffe188, env=<value optimized out>) at perl.c:1605 #5 0x00000000004200b3 in main (argc=3, argv=0x7fffffffe188, env=0x7fffffffe1a8) at perlmain.c:115 (gdb) quit A debugging session is active. Inferior 1 [process 25233] will be killed. Quit anyway? (y or n) y tokuhirom@gpath% /home/tokuhirom/perl5/perlbrew/perls/perl-5.12.1- DDEBUGGING/bin/perl -V [~/tmp/20100816] 月 16 8:46 Summary of my perl5 (revision 5 version 12 subversion 1) configuration: Platform: osname=linux, osvers=2.6.32-23-server, archname=x86_64-linux uname='linux gpath 2.6.32-23-server #37-ubuntu smp fri jun 11 09:11:11 utc 2010 x86_64 gnulinux ' config_args='-de -Dprefix=/home/tokuhirom/perl5/perlbrew/perls/perl- 5.12.1-DDEBUGGING -DDEBUGGING' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-DDEBUGGING -fno-strict-aliasing -pipe -fstack- protector -I/usr/local/include -D_LARGEFILE_SOURCE - D_FILE_OFFSET_BITS=64', optimize='-O2 -g', cppflags='-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector - I/usr/local/include' ccversion='', gccversion='4.4.3', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.11.1.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.11.1' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib - fstack-protector' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF Built under linux Compiled at Aug 16 2010 08:25:49 %ENV: PERL_AUTOINSTALL="--defaultdeps" PERL_BADLANG="0" @INC: /home/tokuhirom/perl5/perlbrew/perls/perl-5.12.1- DDEBUGGING/lib/site_perl/5.12.1/x86_64-linux /home/tokuhirom/perl5/perlbrew/perls/perl-5.12.1- DDEBUGGING/lib/site_perl/5.12.1 /home/tokuhirom/perl5/perlbrew/perls/perl-5.12.1- DDEBUGGING/lib/5.12.1/x86_64-linux /home/tokuhirom/perl5/perlbrew/perls/perl-5.12.1- DDEBUGGING/lib/5.12.1 .
Thanks for your report. This has been fixed in indirect 0.22. Vincent.