Package: perl
Version: 5.8.8-11.1
Severity: normal

The file foo.pl below run with "perl foo.pl" produces

        Segmentation fault

It's got a syntax error (no expression before the "or") and I hoped that
would be reported instead of a segv.

Running debugperl under gdb gives

#0  0x080b8624 in Perl_pad_free (my_perl=0x81bc008, po=4) at pad.c:1180
#1  0x080a1494 in Perl_op_clear (my_perl=0x81bc008, o=0x81c5118) at op.c:515
#2  0x080a1028 in Perl_op_free (my_perl=0x81bc008, o=0x81c5118) at op.c:379
#3  0x080a0fc4 in Perl_op_free (my_perl=0x81bc008, o=0x81da0b0) at op.c:367
#4  0x080ad181 in Perl_newATTRSUB (my_perl=0x81bc008, floor=103, o=0x81d9d48,
    proto=0x0, attrs=0x0, block=0x81da0b0) at op.c:4424
#5  0x0809e177 in Perl_yyparse (my_perl=0x81bc008) at perly.y:364
#6  0x08068958 in S_parse_body (my_perl=0x81bc008, env=0x0,
    xsinit=0x806392f <xs_init>) at perl.c:2206
#7  0x0806766a in perl_parse (my_perl=0x81bc008, xsinit=0x806392f <xs_init>,
    argc=2, argv=0xbf89e504, env=0x0) at perl.c:1598
#8  0x080638b9 in main (argc=2, argv=0xbf89e504, env=0xbf89e510)
    at perlmain.c:97


-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i586)

Kernel: Linux 2.6.22-2-486
Locale: LANG=en_AU, LC_CTYPE=en_AU (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages perl depends on:
ii  libc6                         2.6.1-2    GNU C Library: Shared libraries
ii  libdb4.6                      4.6.21-4   Berkeley v4.6 Database Libraries [
ii  libgdbm3                      1.8.3-3    GNU dbm database routines (runtime
ii  perl-base                     5.8.8-11.1 The Pathologically Eclectic Rubbis
ii  perl-modules                  5.8.8-11.1 Core Perl modules

Versions of packages perl recommends:
ii  perl-doc                      5.8.8-7    Perl documentation

-- no debconf information

sub foo {
  my ($x) = @_;
  sub {
    or 'y';
  };
}

Reply via email to