List Info

Thread: eof() triggers segfault




eof() triggers segfault
user name
2007-10-14 20:30:58
# New Ticket Created by  joshlik.nonet 
# Please include the string:  [perl #46435]
# in the subject line of all future correspondence about
this issue. 
# <URL: h
ttp://rt.perl.org/rt3/Ticket/Display.html?id=46435 >



This is a bug report for perl from joshlik.nonet,
generated with the help of perlbug 1.36 running under perl
5.10.0.


------------------------------------------------------------
-----
[Please enter your report here]

The following program will trigger a null pointer
dereference. GvSV(...) for the ARGV glob is what is
returning null.

perl -e 'eof()'

[lik ~/src/myblead2]$ gdb /opt/perl-5.10.0-dbg/bin/perl
GNU gdb 6.6-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public
License, and you are
welcome to change it and/or 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.
This GDB was configured as "i486-linux-gnu"...
Using host libthread_db library
"/lib/tls/i686/cmov/libthread_db.so.1".
(gdb) set args -e eof()
(gdb) run
Starting program: /opt/perl-5.10.0-dbg/bin/perl -e eof()

Program received signal SIGSEGV, Segmentation fault.
Perl_sv_setpvn (sv=0x0, ptr=0x81f6dc1 "-", len=1)
at sv.c:3867
3867        SV_CHECK_THINKFIRST_COW_DROP(sv);
(gdb) p sv
$1 = (SV *) 0x0
(gdb) bt
#0  Perl_sv_setpvn (sv=0x0, ptr=0x81f6dc1 "-",
len=1) at sv.c:3867
#1  0x0814ea4d in Perl_pp_eof () at pp_sys.c:2015
#2  0x0809b040 in Perl_runops_debug () at dump.c:1931
#3  0x080c6037 in perl_run (my_perl=0x824f008) at
perl.c:2381
#4  0x080623d5 in main (argc=3, argv=0xbff11a04,
env=0xbff11a14) at perlmain.c:113
(gdb) 


[Please do not change anything below this line]
------------------------------------------------------------
-----
---
Flags:
    category=core
    severity=high
---
Site configuration information for perl 5.10.0:

Configured by josh at Sun Oct 14 09:55:17 PDT 2007.

Summary of my perl5 (revision 5 version 10 subversion 0
patch 32107) configuration:
  Platform:
    osname=linux, osvers=2.6.20-16-generic,
archname=i686-linux
    uname='linux lik 2.6.20-16-generic #2 smp sun sep 23
19:50:39 utc 2007 i686 gnulinux '
    config_args='-DEBUGGING=both
-Dprefix=/opt/perl-5.10.0-dbg -des'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    useperlio=define, d_sfio=undef, uselargefiles=define,
usesocks=undef
    use64bitint=undef, use64bitall=undef,
uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-DDEBUGGING -fno-strict-aliasing
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-DDEBUGGING -fno-strict-aliasing -pipe
-I/usr/local/include'
    ccversion='', gccversion='4.1.2 (Ubuntu
4.1.2-0ubuntu4)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8,
byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8,
Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /usr/lib64
    libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.5.so, so=so, useshrplib=false,
libperl=libperl.a
    gnulibc_version='2.5'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g
-L/usr/local/lib'

Locally applied patches:
    DEVEL

---
INC
for perl 5.10.0:
    /opt/perl-5.10.0-dbg/lib/5.10.0/i686-linux
    /opt/perl-5.10.0-dbg/lib/5.10.0
    /opt/perl-5.10.0-dbg/lib/site_perl/5.10.0/i686-linux
    /opt/perl-5.10.0-dbg/lib/site_perl/5.10.0
    .

---
Environment for perl 5.10.0:
    HOME=/home/josh
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
   
PATH=/home/josh/bin/perl/5.8.8/bin:/home/josh/bin:/home/josh
/bin/bin:/home/josh/bin/perl/5.8.8/bin:/home/josh/bin:/home/
josh/bin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/b
in:/sbin:/bin:/usr/games
    PERL_BADLANG (unset)
    SHELL=/bin/bash


Re: eof() triggers segfault
user name
2007-10-15 12:06:25
On Sun, Oct 14, 2007 at 06:30:58PM -0700, joshlik.nonet
wrote:

Fixed by "[PATCH] Fix a few segfaults and a when()
bug". I didn't know
I was going to fix the bug when I reported it.

Josh
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )