develooper Front page | perl.perl5.porters | Postings from May 2013

[perl #117857] perl: corrupted double-linked list && Segmentation fault Perl_sv_chop

Thread Previous | Thread Next
From:
Linda Walsh
Date:
May 4, 2013 13:25
Subject:
[perl #117857] perl: corrupted double-linked list && Segmentation fault Perl_sv_chop
Message ID:
rt-3.6.HEAD-28177-1367673890-1358.117857-75-0@perl.org
# New Ticket Created by  Linda Walsh 
# Please include the string:  [perl #117857]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=117857 >



This is a bug report for perl from perl-diddler@tlinx.org,
generated with the help of perlbug 1.39 running under perl 5.16.2.


-----------------------------------------------------------------
[Please describe your issue here]

This bug was originally filed against perl 5.10 in 2010 as
bug #78728.  I tried to re-open it and update it for perl 5.16.2, 
but only got as far as re-opening it.  Didn't seem to be a way
to change the perl release to the current one other than to 
re-submit as new.  

Dies in one of two ways depending on if it is the first or 2nd run...

First time, it just hangs after displaying the error message so
had to press ctl-backslash to generate a coredump...


Core was generated by `/usr/bin/perl ./crawl.pl'.
Program terminated with signal 3, Quit.
#0 0x00007f4bb223c09b in __lll_lock_wait_private () from /lib64/libc.so.6
(gdb) where
#0 0x00007f4bb223c09b in __lll_lock_wait_private () from /lib64/libc.so.6
#1 0x00007f4bb21c7a3c in _L_lock_10265 () from /lib64/libc.so.6
#2 0x00007f4bb21c5255 in malloc () from /lib64/libc.so.6
#3 0x00007f4bb2e53252 in local_strdup () from /lib64/ld-linux-x86-64.so.2
#4 0x00007f4bb2e564b5 in _dl_map_object () from /lib64/ld-linux-x86-64.so.2
#5 0x00007f4bb2e6083e in dl_open_worker () from /lib64/ld-linux-x86-64.so.2
#6 0x00007f4bb2e5c7a6 in _dl_catch_error () from
/lib64/ld-linux-x86-64.so.2
#7 0x00007f4bb2e602b9 in _dl_open () from /lib64/ld-linux-x86-64.so.2
#8 0x00007f4bb2265e62 in do_dlopen () from /lib64/libc.so.6
#9 0x00007f4bb2e5c7a6 in _dl_catch_error () from
/lib64/ld-linux-x86-64.so.2
#10 0x00007f4bb2265eff in dlerror_run () from /lib64/libc.so.6
#11 0x00007f4bb2265f71 in __libc_dlopen_mode () from /lib64/libc.so.6
#12 0x00007f4bb2241735 in init () from /lib64/libc.so.6
#13 0x00007f4bb2500d90 in pthread_once () from /lib64/libpthread.so.0
#14 0x00007f4bb2241854 in backtrace () from /lib64/libc.so.6
#15 0x00007f4bb21bc095 in __libc_message () from /lib64/libc.so.6
#16 0x00007f4bb21c1bf6 in malloc_printerr () from /lib64/libc.so.6
#17 0x00007f4bb21c2c0a in _int_free () from /lib64/libc.so.6
#18 0x00000000004b00a9 in Perl_sv_clear ()
#19 0x00000000004b0772 in Perl_sv_free2 ()
#20 0x00000000004d3440 in Perl_free_tmps ()
#21 0x000000000049f4f5 in Perl_pp_nextstate ()
#22 0x000000000049ee66 in Perl_runops_standard ()
#23 0x000000000043cbb2 in perl_run ()
#24 0x000000000041ec5b in main ()


==============
Running it again, I get a segmentation fault instead of the dll list

(it dies when the program is parsing the same file), FWIW:

It has a backtrace of:
Core was generated by `/usr/bin/perl ./crawl.pl'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000004b6668 in Perl_sv_chop ()
(gdb) where
#0 0x00000000004b6668 in Perl_sv_chop ()
#1 0x00007ffda0bcaaf3 in parse (my_perl=my_perl@entry=0x1ef0010,
p_state=p_state@entry=0x24ebe70, chunk=chunk@entry=0x23e9868,
self=self@entry=0x24edca8) at hparser.c:1885
#2 0x00007ffda0bcbe4d in XS_HTML__Parser_parse (my_perl=0x1ef0010,
cv=<optimized out>) at Parser.xs:412
#3 0x00000000004a66c2 in Perl_pp_entersub ()
#4 0x000000000049ee66 in Perl_runops_standard ()
#5 0x000000000043cbb2 in perl_run ()
#6 0x00000000Core was generated by `/usr/bin/perl ./crawl.pl'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000004b6668 in Perl_sv_chop ()
(gdb) where
#0 0x00000000004b6668 in Perl_sv_chop ()
#1 0x00007ffda0bcaaf3 in parse (my_perl=my_perl@entry=0x1ef0010,
p_state=p_state@entry=0x24ebe70, chunk=chunk@entry=0x23e9868,
self=self@entry=0x24edca8) at hparser.c:1885
#2 0x00007ffda0bcbe4d in XS_HTML__Parser_parse (my_perl=0x1ef0010,
cv=<optimized out>) at Parser.xs:412
#3 0x00000000004a66c2 in Perl_pp_entersub ()
#4 0x000000000049ee66 in Perl_runops_standard ()
#5 0x000000000043cbb2 in perl_run ()
#6 0x000000000041ec5b in main ()0041ec5b in main ()

I'll see about attaching the compressed tar of the prog & data when this
comes back with a bug id..



[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=high
---
This perlbug was built using Perl 5.16.2 - Fri Feb 15 01:17:37 UTC 2013
It is being executed now by  Perl 5.16.2 - Fri Feb 15 01:12:05 UTC 2013.

Site configuration information for perl 5.16.2:

Configured by abuild at Fri Feb 15 01:12:05 UTC 2013.

Summary of my perl5 (revision 5 version 16 subversion 2) configuration:
   
  Platform:
    osname=linux, osvers=3.4.6-2.10-default, archname=x86_64-linux-thread-multi
    uname='linux build34 3.4.6-2.10-default #1 smp thu jul 26 09:36:26 utc 2012 (641c197) x86_64 x86_64 x86_64 gnulinux '
    config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Dd_dbm_open -Duseshrplib=true -Doptimize=-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pipe -Accflags=-DPERL_USE_SAFE_PUTENV -Dotherlibdirs=/usr/lib/perl5/site_perl'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pipe',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -fstack-protector'
    ccversion='', gccversion='4.7.2 20130108 [gcc-4_7-branch revision 195012]', 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 =' -L/usr/local/lib64 -fstack-protector'
    libpth=/lib64 /usr/lib64 /usr/local/lib64
    libs=-lm -ldl -lcrypt -lpthread
    perllibs=-lm -ldl -lcrypt -lpthread
    libc=/lib64/libc-2.17.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.17'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/CORE'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib64 -fstack-protector'

Locally applied patches:
    

---
@INC for perl 5.16.2:
    /home/law/bin/lib
    /usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi
    /usr/lib/perl5/site_perl/5.16.2
    /usr/lib/perl5/vendor_perl/5.16.2/x86_64-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.16.2
    /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi
    /usr/lib/perl5/5.16.2
    /usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi
    /usr/lib/perl5/site_perl/5.16.2
    /usr/lib/perl5/site_perl
    .

---
Environment for perl 5.16.2:
    HOME=/home/law
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LC_COLLATE=C
    LC_CTYPE=en_US.UTF-8
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=.:/home/law/bin/lib:/home/law/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/qt3/bin:/opt/dell/srvadmin/bin:/usr/sbin:/etc/local/func_lib:/home/law/lib
    PERL5OPT=-CSA -I/home/law/bin/lib
    PERL_BADLANG (unset)
    SHELL=/bin/bash


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About