Front page | perl.perl5.porters |
Postings from November 2000
Re: [ID 20001029.008] perl binary segfaults on following code
Thread Previous
|
Thread Next
From:
sthoenna
Date:
November 25, 2000 19:57
Subject:
Re: [ID 20001029.008] perl binary segfaults on following code
Message ID:
APHI6gzkgqoY092yn@efn.org
Simon Cozens <simon@cozens.net> wrote:
> On Thu, Nov 23, 2000 at 07:38:04PM -0800, Yitzchak Scott-Thoennes wrote:
> > Still present at 5.7.0 + DEVEL7837.
> > Simpler case (assuming it is the same bug :) is:
> > ./perl -e'sub=;"$a->{b} $a->{b}"'
>
> Are you sure? That doesn't even compile here.
Does it coredump? It does for me.
But perhaps it isn't the same bug after all.
[D:\perl-current]cat Foo.pm
sub foo
{
sub ( $Self ) = @_;
my $Filename = "$Self->{Name} $Self->{Folder}";
}
[D:\perl-current]gdb --args miniperl_.exe -Ilib -e "use Foo"
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (emx), Copyright 1996 Free Software Foundation, Inc...
(gdb) r
Starting program: d:/perl-current/miniperl_.exe "-Ilib" "-e" "use Foo"
[New thread 1]
Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 1]
Program received signal SIGSEGV, Segmentation fault.
0x119db in Perl_pad_free (po=4) at op.c:556
556 SvPADTMP_off(PL_curpad[po]);
(gdb) bt
#0 0x119db in Perl_pad_free (po=4) at op.c:556
#1 0x11e51 in S_op_clear (o=0x13b108) at op.c:838
#2 0x11c65 in Perl_op_free (o=0x13b108) at op.c:736
#3 0x11c0a in Perl_op_free (o=0x13b148) at op.c:724
#4 0x11c0a in Perl_op_free (o=0x134dc8) at op.c:724
#5 0x11c0a in Perl_op_free (o=0x13b1c8) at op.c:724
#6 0x11c0a in Perl_op_free (o=0x134d88) at op.c:724
#7 0x1d2b2 in Perl_newATTRSUB (floor=266, o=0x134cc8, proto=0x0, attrs=0x0,
block=0x134d88) at op.c:4659
#8 0x51263 in Perl_yyparse () at perly.y:323
#9 0xc2fdb in S_doeval (gimme=0, startop=0x0) at pp_ctl.c:2884
#10 0xc5b25 in Perl_pp_require () at pp_ctl.c:3345
#11 0x7bc3c in Perl_runops_debug () at run.c:56
#12 0x26d8d in S_call_body (myop=0x30bfc00, is_eval=0) at perl.c:1812
#13 0x269dc in perl_call_sv (sv=0x130dac, flags=6) at perl.c:1728
#14 0x2b1b3 in S_call_list_body (cv=0x130dac) at perl.c:3785
#15 0x2ae21 in Perl_call_list (oldscope=1, paramList=0x130e3c) at perl.c:3713
#16 0x1daa5 in Perl_newATTRSUB (floor=80, o=0x134ac8, proto=0x0, attrs=0x0,
block=0x134a88) at op.c:4784
#17 0x18aaf in Perl_utilize (aver=1, floor=80, version=0x0, id=0x1348c8,
arg=0x0) at op.c:3216
#18 0x514ca in Perl_yyparse () at perly.y:377
#19 0x259ba in S_parse_body (env=0x0, xsinit=0x10120 <xs_init>) at perl.c:1298
#20 0x249a9 in perl_parse (my_perl=0x120808, xsinit=0x10120 <xs_init>, argc=4,
argv=0x30bffb0, env=0x0) at perl.c:879
#21 0x100ca in main (argc=4, argv=0x30bffb0, env=0x30bfe88)
at miniperlmain.c:50
(gdb) q
The program is running. Quit anyway (and kill it)? (y or n) y
[D:\perl-current]gdb --args miniperl_.exe -Ilib -e "sub=;qq'$a->{b} $a->{b}'"
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (emx), Copyright 1996 Free Software Foundation, Inc...
(gdb) r
Starting program: d:/perl-current/miniperl_.exe "-Ilib" "-e" "sub=;qq'$a->{b} $a
->{b}'"
[New thread 1]
Program received signal SIGSEGV, Segmentation fault.
[Switching to thread 1]
Program received signal SIGSEGV, Segmentation fault.
0x119db in Perl_pad_free (po=4) at op.c:556
556 SvPADTMP_off(PL_curpad[po]);
(gdb) bt
#0 0x119db in Perl_pad_free (po=4) at op.c:556
#1 0x11e51 in S_op_clear (o=0x134d08) at op.c:838
#2 0x11c65 in Perl_op_free (o=0x134d08) at op.c:736
#3 0x11c0a in Perl_op_free (o=0x134d48) at op.c:724
#4 0x11c0a in Perl_op_free (o=0x134e08) at op.c:724
#5 0x23b98 in perl_destruct (my_perl=0x120808) at perl.c:404
#6 0x100f6 in main (argc=4, argv=0x30bffa0, env=0x30bfe78)
at miniperlmain.c:55
Thread Previous
|
Thread Next