Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Core dump on running perl in debug mode #871

Closed
p5pRT opened this issue Nov 18, 1999 · 5 comments
Closed

Core dump on running perl in debug mode #871

p5pRT opened this issue Nov 18, 1999 · 5 comments

Comments

@p5pRT
Copy link

p5pRT commented Nov 18, 1999

Migrated from rt.perl.org#1802 (status was 'resolved')

Searchable as RT1802$

@p5pRT
Copy link
Author

p5pRT commented Nov 18, 1999

From easmith@beatrice.rutgers.edu

Hi. The following program leads to a core dump.

#!/usr/sbin/perl -w

undef($/);

%functions = ();

foreach $file (@​ARGV) {
  (open(FILE, $file)) || (die "Can't open $file for reading​: $!; stopped");

  my($input) = <FILE>;

  $^D = 14 + 512;

  while ($input =~ m/^([_a-zA-Z]+[^\n\(]*)
  (\(.*\)(?!\s*\;)[^\{]*\{.*?\}(?=.*?(?​:^[_a-zA-Z]+)|\Z))/mgx) {
  $^D = 0;
  my($what) = $1;
  my($found) = $1 . $2;
  my($output) = $file . "​:\n\t" . $found;
  if (exists($functions{$what})) {
  $functions{$what} .= "\n" . $output;
  } else {
  $functions{$what} = $output;
  }
  }
  $^D = 0;

  close(FILE);
}

print join("\n\n", map {$functions{$_}} (sort (keys %functions))) . "\n";

The stack trace is as follows​:

Core from signal SIGSEGV​: Segmentation violation

regmatch(<stripped>) ["regexec.c"​:790, 0x100c1110]
regtry(<stripped>) ["regexec.c"​:734, 0x100c0dd4]
Perl_regexec_flags(<stripped>) ["regexec.c"​:332, 0x100bf7f4]
Perl_pp_match(<stripped>) ["pp_hot.c"​:922, 0x1002b2b8]
Perl_runops_debug(<stripped>) ["run.c"​:66, 0x100be17c]
perl_run(<stripped>) ["perl.c"​:1088, 0x10084320]
main(<stripped>) ["perlmain.c"​:45, 0x10013728]
__start(<stripped>) ["crt1text.s"​:166, 0x10013648]

The debug mode output was as follows​:

(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:12) LEAVE scope 5 at mg.c​:152
  => SV_YES PVMG(526)
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:12) nextstate
  => SV_YES
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) enterloop
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) ENTER scope 5 at pp_ctl.c​:1439
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) ENTER scope 6 at pp_ctl.c​:1441
Entering block 2, type LOOP
  => SV_YES
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) padsv
  => SV_YES PV("#include "phylip.h"
#include "drawgraphics.h"

/* Version 3.52c. Copyright (c) 1986-1993 by Joseph Felsenstein and
  Christoph")
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) match
Matching `^([_a-zA-Z]+[^\n\(]*)
  (\(.*\)(?!\s*;)[^\{]*\{.*?\}(?=.*?(?...' against `#include "phylip.h"
#include "drawgraphics.h"

/* Version 3....'
  Setting an EVAL scope, savestack=19
Segmentation fault (core dumped)

  Thanks,

  -Allen

Perl Info


This perlbug was built using Perl 5.00502 - Thu Nov  5 21:33:33 EST 1998
It is being executed now by  Perl 5.00502 - Fri Nov  6 00:06:17 EST 1998.

Site configuration information for perl 5.00502:

Configured by easmith at Fri Nov  6 00:06:17 EST 1998.

Summary of my perl5 (5.0 patchlevel 5 subversion 2) configuration:
  Platform:
    osname=irix, osvers=6.2, archname=IP22-irix
    uname='irix titania1 6.2 03131015 ip22 '
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='cc -n32 -mips4', optimize='-TARG:processor=r5000 -O3 -OPT:fast_sqrt=OFF:Olimit=0 -TENV:X=0 -OPT:fast_io=ON -LNO:opt=1:ou_further=3 -OPT:fold_unsafe_relops=OFF:div_split=OFF:IEEE_arithmetic=1:roundoff=0 -LNO:vintr=OFF -OPT:got_call_conversion=OFF -INLINE:=ON -TARG:platform=ip22_5k', gccversion=
    cppflags='-D_BSD_TYPES -D_BSD_TIME -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING'
    ccflags ='-D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld -mips4 -n32 -no_unresolved -shared -update_registry /usr/lib32/so_locations', ldflags ='-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 -L/usr/lib32 -L/lib32 -rpath /server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib32:/lib32'
    libpth=/server/people/staff/easmith/lib32 /usr/lib32/mips4 /usr/lib32 /lib32
    libs=-lgdbm -ldb -lm -lc
    libc=/usr/lib32/mips4/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 -L/usr/lib32 -L/lib32 -rpath /server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib32:/lib32'

Locally applied patches:
    


@INC for perl 5.00502:
    /usr/share/lib/perl5/5.005/IP22-irix
    /usr/share/lib/perl5/5.005
    /usr/share/lib/perl5/site_perl/5.005/IP22-irix
    /usr/share/lib/perl5/site_perl/5.005
    .


Environment for perl 5.00502:
    HOME=/server/people/staff/easmith
    LANG=en_US
    LD_LIBRARY_PATH=/server/people/staff/easmith/lib
    LOGDIR (unset)
    PATH=/server/people/staff/easmith/compiled:/usr/share/bin:/server/people/staff/easmith:/server/people/staff/easmith/perl/prog:/usr/sbin:/usr/bsd:/sbin:/usr/bin:/bin:/usr/lib:/usr/bin/X11:/usr/etc:/etc:/usr/Cadmin/bin:/usr/demos/bin:/usr/gfx:/usr/lib/Zmail/bin:/usr/lib/print
    PERL_BADLANG (unset)
    SHELL=/bin/csh

Complete configuration data for perl 5.00502:

Author=''
CONFIG='true'
Date='$Date'
Header=''
Id='$Id'
Locker=''
Log='$Log'
Mcc='Mcc'
PATCHLEVEL='5'
RCSfile='$RCSfile'
Revision='$Revision'
SUBVERSION='2'
Source=''
State=''
_a='.a'
_exe=''
_o='.o'
afs='false'
alignbytes='8'
ansi2knr=''
aphostname=''
apiversion='5.005'
ar='ar'
archlib='/usr/share/lib/perl5/5.005/IP22-irix'
archlibexp='/usr/share/lib/perl5/5.005/IP22-irix'
archname='IP22-irix'
archobjs=''
awk='awk'
baserev='5.0'
bash=''
bin='/usr/sbin'
binexp='/usr/sbin'
bison=''
byacc='byacc'
byteorder='4321'
c='\c'
castflags='0'
cat='cat'
cc='cc -n32 -mips4'
cccdlflags=' '
ccdlflags=' '
ccflags='-D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING'
cf_by='easmith'
cf_email='easmith@beatrice.rutgers.edu'
cf_time='Fri Nov  6 00:06:17 EST 1998'
chgrp=''
chmod=''
chown=''
clocktype='clock_t'
comm='comm'
compress=''
config_arg0='./Configure'
config_arg1='-d'
config_argc='1'
config_args='-d'
contains='grep'
cp='cp'
cpio=''
cpp='cpp'
cpp_stuff='42'
cppflags='-D_BSD_TYPES -D_BSD_TIME -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING'
cpplast=''
cppminus=''
cpprun='/usr/lib/cpp'
cppstdin='cppstdin'
cryptlib=''
csh='csh'
d_Gconvert='gcvt((x),(n),(b))'
d_access='define'
d_alarm='define'
d_archlib='define'
d_attribut=''
d_bcmp='define'
d_bcopy='define'
d_bsd='define'
d_bsdgetpgrp=''
d_bsdsetpgrp=''
d_bzero='define'
d_casti32='define'
d_castneg='define'
d_charvspr=''
d_chown='define'
d_chroot='define'
d_chsize=''
d_closedir='define'
d_const='define'
d_crypt='define'
d_csh='define'
d_cuserid='define'
d_dbl_dig='define'
d_difftime='define'
d_dirnamlen=''
d_dlerror='define'
d_dlopen='define'
d_dlsymun=''
d_dosuid=''
d_dup2='define'
d_endgrent='define'
d_endhent='define'
d_endnent='define'
d_endpent='define'
d_endpwent='define'
d_endsent='define'
d_eofnblk='define'
d_eunice=''
d_fchmod='define'
d_fchown='define'
d_fcntl='define'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_flexfnam='define'
d_flock='define'
d_fork='define'
d_fpathconf='define'
d_fsetpos='define'
d_ftime=''
d_getgrent='define'
d_getgrps='define'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='define'
d_gethname=''
d_gethostprotos='define'
d_getlogin='define'
d_getnbyaddr='define'
d_getnbyname='define'
d_getnent='define'
d_getnetprotos='define'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='define'
d_getpgid='define'
d_getpgrp='define'
d_getpgrp2=''
d_getppid='define'
d_getprior='define'
d_getprotoprotos='define'
d_getpwent='define'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='define'
d_getservprotos='define'
d_gettimeod='define'
d_gnulibc=''
d_grpasswd='define'
d_htonl='define'
d_index=''
d_inetaton='define'
d_isascii='define'
d_killpg='define'
d_lchown='define'
d_link='define'
d_locconv='define'
d_lockf='define'
d_longdbl='define'
d_longlong='define'
d_lstat='define'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
d_memcmp='define'
d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
d_mkfifo='define'
d_mktime='define'
d_msg='define'
d_msgctl='define'
d_msgget='define'
d_msgrcv='define'
d_msgsnd='define'
d_mymalloc='define'
d_nice='define'
d_oldpthreads=''
d_oldsock=''
d_open3='define'
d_pathconf='define'
d_pause='define'
d_phostname=''
d_pipe='define'
d_poll='define'
d_portable='define'
d_pthread_yield=''
d_pthreads_created_joinable=''
d_pwage='define'
d_pwchange=''
d_pwclass=''
d_pwcomment='define'
d_pwexpire=''
d_pwgecos='define'
d_pwpasswd='define'
d_pwquota=''
d_readdir='define'
d_readlink='define'
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
d_safebcpy='define'
d_safemcpy='define'
d_sanemcmp='define'
d_sched_yield=''
d_seekdir='define'
d_select='define'
d_sem='define'
d_semctl='define'
d_semctl_semid_ds=''
d_semctl_semun='define'
d_semget='define'
d_semop='define'
d_setegid='define'
d_seteuid='define'
d_setgrent='define'
d_setgrps='define'
d_sethent='define'
d_setlinebuf='define'
d_setlocale='define'
d_setnent='define'
d_setpent='define'
d_setpgid='define'
d_setpgrp='define'
d_setpgrp2=''
d_setprior='define'
d_setpwent='define'
d_setregid='define'
d_setresgid=''
d_setresuid=''
d_setreuid='define'
d_setrgid='define'
d_setruid='define'
d_setsent='define'
d_setsid='define'
d_setvbuf='define'
d_sfio=''
d_shm='define'
d_shmat='define'
d_shmatprototype='define'
d_shmctl='define'
d_shmdt='define'
d_shmget='define'
d_sigaction='define'
d_sigsetjmp='define'
d_socket='define'
d_sockpair='define'
d_statblks='define'
d_stdio_cnt_lval='define'
d_stdio_ptr_lval='define'
d_stdiobase='define'
d_stdstdio='define'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
d_strtod='define'
d_strtol='define'
d_strtoul='define'
d_strxfrm='define'
d_suidsafe=''
d_symlink='define'
d_syscall='define'
d_sysconf='define'
d_sysernlst=''
d_syserrlst='define'
d_system='define'
d_tcgetpgrp='define'
d_tcsetpgrp='define'
d_telldir='define'
d_time='define'
d_times='define'
d_truncate='define'
d_tzname='define'
d_umask='define'
d_uname='define'
d_union_semun='define'
d_vfork=''
d_void_closedir=''
d_voidsig='define'
d_voidtty=''
d_volatile='define'
d_vprintf='define'
d_wait4=''
d_waitpid='define'
d_wcstombs='define'
d_wctomb='define'
d_xenix=''
date='date'
db_hashtype='int'
db_prefixtype='int'
defvoidused='15'
direntrytype='struct dirent'
dlext='so'
dlsrc='dl_dlopen.xs'
doublesize='8'
dynamic_ext='B DB_File Data/Dumper Fcntl IO IPC/SysV NDBM_File Opcode POSIX SDBM_File Socket attrs re'
eagain='EAGAIN'
ebcdic=''
echo='echo'
egrep='egrep'
emacs=''
eunicefix=':'
exe_ext=''
expr='expr'
extensions='B DB_File Data/Dumper Fcntl IO IPC/SysV NDBM_File Opcode POSIX SDBM_File Socket attrs re Errno'
find='find'
firstmakefile='makefile'
flex=''
fpostype='fpos_t'
freetype='void'
full_csh='/sbin/csh'
full_sed='/sbin/sed'
gccversion=''
gidtype='gid_t'
glibpth='/usr/shlib  /shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /usr/local/lib '
grep='grep'
groupcat='cat /etc/group'
groupstype='gid_t'
gzip='gzip'
h_fcntl='false'
h_sysfile='true'
hint='previous'
hostcat='cat /etc/hosts'
huge=''
i_arpainet='define'
i_bsdioctl=''
i_db='define'
i_dbm='define'
i_dirent='define'
i_dld=''
i_dlfcn='define'
i_fcntl=''
i_float='define'
i_gdbm=''
i_grp='define'
i_limits='define'
i_locale='define'
i_malloc='define'
i_math='define'
i_memory=''
i_ndbm='define'
i_netdb='define'
i_neterrno=''
i_niin='define'
i_pwd='define'
i_rpcsvcdbm=''
i_sfio=''
i_sgtty=''
i_stdarg='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
i_sysdir='define'
i_sysfile='define'
i_sysfilio='define'
i_sysin=''
i_sysioctl='define'
i_sysndir=''
i_sysparam='define'
i_sysresrc='define'
i_sysselct='define'
i_syssockio=''
i_sysstat='define'
i_systime='define'
i_systimek=''
i_systimes='define'
i_systypes='define'
i_sysun='define'
i_syswait='define'
i_termio=''
i_termios='define'
i_time=''
i_unistd='define'
i_utime='define'
i_values='define'
i_varargs=''
i_varhdr='stdarg.h'
i_vfork=''
incpath=''
inews=''
installarchlib='/usr/share/lib/perl5/5.005/IP22-irix'
installbin='/usr/sbin'
installman1dir='/usr/share/man/man1'
installman3dir='/usr/share/man/man3'
installprivlib='/usr/share/lib/perl5/5.005'
installscript='/usr/sbin'
installsitearch='/usr/share/lib/perl5/site_perl/5.005/IP22-irix'
installsitelib='/usr/share/lib/perl5/site_perl/5.005'
intsize='4'
known_extensions='B DB_File Data/Dumper Fcntl GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Thread attrs re'
ksh=''
large=''
ld='ld -mips4 -n32 -no_unresolved -shared -update_registry /usr/lib32/so_locations'
lddlflags='-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 -L/usr/lib32 -L/lib32 -rpath /server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib32:/lib32'
ldflags='-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 -L/usr/lib32 -L/lib32 -rpath /server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib32:/lib32'
less='less'
lib_ext='.a'
libc='/usr/lib32/mips4/libc.so'
libperl='libperl.a'
libpth='/server/people/staff/easmith/lib32 /usr/lib32/mips4 /usr/lib32 /lib32'
libs='-lgdbm -ldb -lm -lc'
libswanted='sfio inet nm ndbm gdbm dbm db dld ld m c cposix posix ndir dir ucb BSD x'
line='line'
lint=''
lkflags=''
ln='ln'
lns='/sbin/ln -s'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='16'
longlongsize='8'
longsize='4'
lp=''
lpr=''
ls='ls'
lseektype='off_t'
mail=''
mailx=''
make='make'
make_set_make='#'
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
man1dir='/usr/share/man/man1'
man1direxp='/usr/share/man/man1'
man1ext='1'
man3dir='/usr/share/man/man3'
man3direxp='/usr/share/man/man3'
man3ext='3'
medium=''
mips=''
mips_type='System V'
mkdir='mkdir'
models='none'
modetype='mode_t'
more='more'
mv=''
myarchname='IP22-irix'
mydomain='.rutgers.edu'
myhostname='titania1'
myuname='irix titania1 6.2 03131015 ip22 '
n=''
netdb_hlen_type='int'
netdb_host_type='const void *'
netdb_name_type='const char *'
netdb_net_type='long'
nm='nm'
nm_opt='-p'
nm_so_opt='-p'
nonxs_ext='Errno'
nroff='nroff'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
optimize='-TARG:processor=r5000 -O3 -OPT:fast_sqrt=OFF:Olimit=0 -TENV:X=0 -OPT:fast_io=ON -LNO:opt=1:ou_further=3 -OPT:fold_unsafe_relops=OFF:div_split=OFF:IEEE_arithmetic=1:roundoff=0 -LNO:vintr=OFF -OPT:got_call_conversion=OFF -INLINE:=ON -TARG:platform=ip22_5k'
orderlib='false'
osname='irix'
osvers='6.2'
package='perl5'
pager='/server/people/staff/easmith/compiled/less'
passcat='cat /etc/passwd'
patchlevel='5'
path_sep=':'
perl='perl'
perladmin='easmith@beatrice.rutgers.edu'
perlpath='/usr/sbin/perl'
pg='pg'
phostname='hostname'
pidtype='pid_t'
plibpth='/usr/lib32 /lib32 /usr/ccs/lib'
pmake=''
pp_ctl_cflags='optimize=-O'
pr=''
prefix='/usr/share'
prefixexp='/usr/share'
privlib='/usr/share/lib/perl5/5.005'
privlibexp='/usr/share/lib/perl5/5.005'
prototype='define'
ptrsize='4'
randbits='15'
ranlib=':'
rd_nodata='-1'
rm='rm'
rmail=''
runnm='true'
scriptdir='/usr/sbin'
scriptdirexp='/usr/sbin'
sed='sed'
selecttype='fd_set *'
sendmail='sendmail'
sh='/bin/sh'
shar=''
sharpbang='#!'
shmattype='void *'
shortsize='2'
shrpenv=''
shsharp='true'
sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ 32 CKPT RESTART NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 PTINTR PTRESCHED RTMIN NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL '
sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "PWR", "WINCH", "URG", "IO", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "VTALRM", "PROF", "XCPU", "XFSZ", "32", "CKPT", "RESTART", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "PTINTR", "PTRESCHED", "RTMIN", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", 0'
sig_num='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 18, 22, 0'
signal_t='void'
sitearch='/usr/share/lib/perl5/site_perl/5.005/IP22-irix'
sitearchexp='/usr/share/lib/perl5/site_perl/5.005/IP22-irix'
sitelib='/usr/share/lib/perl5/site_perl/5.005'
sitelibexp='/usr/share/lib/perl5/site_perl/5.005'
sizetype='size_t'
sleep=''
smail=''
small=''
so='so'
sockethdr=''
socketlib=''
sort='sort'
spackage='Perl5'
spitshell='cat'
split=''
src='.'
ssizetype='ssize_t'
startperl='#!/usr/sbin/perl'
startsh='#!/bin/sh'
static_ext=' '
stdchar='unsigned char'
stdio_base='((fp)->_base)'
stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
stdio_cnt='((fp)->_cnt)'
stdio_filbuf=''
stdio_ptr='((fp)->_ptr)'
strings='/usr/include/string.h'
submit=''
subversion='2'
sysman='/usr/share/man/man1'
tail=''
tar=''
tbl=''
tee='tee'
test='test'
timeincl='/usr/include/sys/time.h '
timetype='time_t'
touch='touch'
tr='tr'
trnl='\n'
troff=''
uidtype='uid_t'
uname='uname'
uniq='uniq'
usedl='define'
usemymalloc='y'
usenm='true'
useopcode='true'
useperlio=''
useposix='true'
usesfio='false'
useshrplib='false'
usethreads=''
usevfork='false'
usrinc='/usr/include'
uuname=''
version='5.00502'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
zcat=''
zip='zip'

@p5pRT
Copy link
Author

p5pRT commented Nov 18, 1999

From [Unknown Contact. See original ticket]

Created by easmith@beatrice.rutgers.edu

Hi. The following program leads to a core dump.

#!/usr/sbin/perl -w

undef($/);

%functions = ();

foreach $file (@​ARGV) {
  (open(FILE, $file)) || (die "Can't open $file for reading​: $!; stopped");

  my($input) = ;

  $^D = 14 + 512;

  while ($input =~ m/^([_a-zA-Z]+[^\n\(]*)
  (\(.*\)(?!\s*\;)[^\{]*\{.*?\}(?=.*?(?​:^[_a-zA-Z]+)|\Z))/mgx) {
  $^D = 0;
  my($what) = $1;
  my($found) = $1 . $2;
  my($output) = $file . "​:\n\t" . $found;
  if (exists($functions{$what})) {
  $functions{$what} .= "\n" . $output;
  } else {
  $functions{$what} = $output;
  }
  }
  $^D = 0;

  close(FILE);
}

print join("\n\n", map {$functions{$_}} (sort (keys %functions))) . "\n";

The stack trace is as follows​:

Core from signal SIGSEGV​: Segmentation violation

regmatch() ["regexec.c"​:790, 0x100c1110]
regtry() ["regexec.c"​:734, 0x100c0dd4]
Perl_regexec_flags() ["regexec.c"​:332, 0x100bf7f4]
Perl_pp_match() ["pp_hot.c"​:922, 0x1002b2b8]
Perl_runops_debug() ["run.c"​:66, 0x100be17c]
perl_run() ["perl.c"​:1088, 0x10084320]
main() ["perlmain.c"​:45, 0x10013728]
__start() ["crt1text.s"​:166, 0x10013648]

The debug mode output was as follows​:

(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:12) LEAVE scope 5 at mg.c​:152
  => SV_YES PVMG(526)
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:12) nextstate
  => SV_YES
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) enterloop
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) ENTER scope 5 at pp_ctl.c​:1439
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) ENTER scope 6 at pp_ctl.c​:1441
Entering block 2, type LOOP
  => SV_YES
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) padsv
  => SV_YES PV("#include "phylip.h"
#include "drawgraphics.h"

/* Version 3.52c. Copyright (c) 1986-1993 by Joseph Felsenstein and
  Christoph")
(/server/people/staff/easmith/perl/prog/extract.funcs.pl​:14) match
Matching `^([_a-zA-Z]+[^\n\(]*)
  (\(.*\)(?!\s*;)[^\{]*\{.*?\}(?=.*?(?...' against `#include "phylip.h"
#include "drawgraphics.h"

/* Version 3....'
  Setting an EVAL scope, savestack=19
Segmentation fault (core dumped)

  Thanks,

  -Allen

Perl Info


This perlbug was built using Perl 5.00502 - Thu Nov  5 21:33:33 EST 1998
It is being executed now by  Perl 5.00502 - Fri Nov  6 00:06:17 EST 1998.

Site configuration information for perl 5.00502:

Configured by easmith at Fri Nov  6 00:06:17 EST 1998.

Summary of my perl5 (5.0 patchlevel 5 subversion 2) configuration:
  Platform:
    osname=irix, osvers=6.2, archname=IP22-irix
    uname='irix titania1 6.2 03131015 ip22 '
    hint=previous, useposix=true, d_sigaction=define
    usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
    cc='cc -n32 -mips4', optimize='-TARG:processor=r5000 -O3 -OPT:fast_sqrt=OFF:Olimit=0 -TENV:X=0 -OPT:fast_io=ON -LNO:opt=1:ou_further=3 -OPT:fold_unsaf
e_relops=OFF:div_split=OFF:IEEE_arithmetic=1:roundoff=0 -LNO:vintr=OFF -OPT:got_call_conversion=OFF -INLINE:=ON -TARG:platform=ip22_5k', gccversion=
    cppflags='-D_BSD_TYPES -D_BSD_TIME -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING'
    ccflags ='-D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=4, ptrsize=4, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld -mips4 -n32 -no_unresolved -shared -update_registry /usr/lib32/so_locations', ldflags ='-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4
 -L/usr/lib32 -L/lib32 -rpath /server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib32:/lib32'
    libpth=/server/people/staff/easmith/lib32 /usr/lib32/mips4 /usr/lib32 /lib32
    libs=-lgdbm -ldb -lm -lc
    libc=/usr/lib32/mips4/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 -L/usr/lib32 -L/lib32 -rpath /server/people/staff/easmith/lib32:/us
r/lib32/mips4:/usr/lib32:/lib32'

Locally applied patches:



@INC for perl 5.00502:
    /usr/share/lib/perl5/5.005/IP22-irix
    /usr/share/lib/perl5/5.005
    /usr/share/lib/perl5/site_perl/5.005/IP22-irix
    /usr/share/lib/perl5/site_perl/5.005
    .


Environment for perl 5.00502:
    HOME=/server/people/staff/easmith
    LANG=en_US
    LD_LIBRARY_PATH=/server/people/staff/easmith/lib
    LOGDIR (unset)
    PATH=/server/people/staff/easmith/compiled:/usr/share/bin:/server/people/staff/easmith:/server/people/staff/easmith/perl/prog:/usr/sbin:/usr/bsd:/sbin
:/usr/bin:/bin:/usr/lib:/usr/bin/X11:/usr/etc:/etc:/usr/Cadmin/bin:/usr/demos/bin:/usr/gfx:/usr/lib/Zmail/bin:/usr/lib/print
    PERL_BADLANG (unset)
    SHELL=/bin/csh

Complete configuration data for perl 5.00502:

Author=''
CONFIG='true'
Date='$Date'
Header=''
Id='$Id'
Locker=''
Log='$Log'
Mcc='Mcc'
PATCHLEVEL='5'
RCSfile='$RCSfile'
Revision='$Revision'
SUBVERSION='2'
Source=''
State=''
_a='.a'
_exe=''
_o='.o'
afs='false'
alignbytes='8'
ansi2knr=''
aphostname=''
apiversion='5.005'
ar='ar'
archlib='/usr/share/lib/perl5/5.005/IP22-irix'
archlibexp='/usr/share/lib/perl5/5.005/IP22-irix'
archname='IP22-irix'
archobjs=''
awk='awk'
baserev='5.0'
bash=''
bin='/usr/sbin'
binexp='/usr/sbin'
bison=''
byacc='byacc'
byteorder='4321'
c='\c'
castflags='0'
cat='cat'
cc='cc -n32 -mips4'
cccdlflags=' '
ccdlflags=' '
ccflags='-D_BSD_TYPES -D_BSD_TIME -woff 1009,1110,1184 -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING'
cf_by='easmith'
cf_email='easmith@beatrice.rutgers.edu'
cf_time='Fri Nov  6 00:06:17 EST 1998'
chgrp=''
chmod=''
chown=''
clocktype='clock_t'
comm='comm'
compress=''
config_arg0='./Configure'
config_arg1='-d'
config_argc='1'
config_args='-d'
contains='grep'
cp='cp'
cpio=''
cpp='cpp'
cpp_stuff='42'
cppflags='-D_BSD_TYPES -D_BSD_TIME -DLANGUAGE_C -I/server/people/staff/easmith/include -DDEBUGGING'
cpplast=''
cppminus=''
cpprun='/usr/lib/cpp'
cppstdin='cppstdin'
cryptlib=''
csh='csh'
d_Gconvert='gcvt((x),(n),(b))'
d_access='define'
d_alarm='define'
d_archlib='define'
d_attribut=''
d_bcmp='define'
d_bcopy='define'
d_bsd='define'
d_bsdgetpgrp=''
d_bsdsetpgrp=''
d_bzero='define'
d_casti32='define'
d_castneg='define'
d_charvspr=''
d_chown='define'
d_chroot='define'
d_chsize=''
d_closedir='define'
d_const='define'
d_crypt='define'
d_csh='define'
d_cuserid='define'
d_dbl_dig='define'
d_difftime='define'
d_dirnamlen=''
d_dlerror='define'
d_dlopen='define'
d_dlsymun=''
d_dosuid=''
d_dup2='define'
d_endgrent='define'
d_endhent='define'
d_endnent='define'
d_endpent='define'
d_endpwent='define'
d_endsent='define'
d_eofnblk='define'
d_eunice=''
d_fchmod='define'
d_fchown='define'
d_fcntl='define'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_flexfnam='define'
d_flock='define'
d_fork='define'
d_fpathconf='define'
d_fsetpos='define'
d_ftime=''
d_getgrent='define'
d_getgrps='define'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='define'
d_gethname=''
d_gethostprotos='define'
d_getlogin='define'
d_getnbyaddr='define'
d_getnbyname='define'
d_getnent='define'
d_getnetprotos='define'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='define'
d_getpgid='define'
d_getpgrp='define'
d_getpgrp2=''
d_getppid='define'
d_getprior='define'
d_getprotoprotos='define'
d_getpwent='define'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='define'
d_getservprotos='define'
d_gettimeod='define'
d_gnulibc=''
d_grpasswd='define'
d_htonl='define'
d_index=''
d_inetaton='define'
d_isascii='define'
d_killpg='define'
d_lchown='define'
d_link='define'
d_locconv='define'
d_lockf='define'
d_longdbl='define'
d_longlong='define'
d_lstat='define'
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
d_memcmp='define'
d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
d_mkfifo='define'
d_mktime='define'
d_msg='define'
d_msgctl='define'
d_msgget='define'
d_msgrcv='define'
d_msgsnd='define'
d_mymalloc='define'
d_nice='define'
d_oldpthreads=''
d_oldsock=''
d_open3='define'
d_pathconf='define'
d_pause='define'
d_phostname=''
d_pipe='define'
d_poll='define'
d_portable='define'
d_pthread_yield=''
d_pthreads_created_joinable=''
d_pwage='define'
d_pwchange=''
d_pwclass=''
d_pwcomment='define'
d_pwexpire=''
d_pwgecos='define'
d_pwpasswd='define'
d_pwquota=''
d_readdir='define'
d_readlink='define'
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
d_safebcpy='define'
d_safemcpy='define'
d_sanemcmp='define'
d_sched_yield=''
d_seekdir='define'
d_select='define'
d_sem='define'
d_semctl='define'
d_semctl_semid_ds=''
d_semctl_semun='define'
d_semget='define'
d_semop='define'
d_setegid='define'
d_seteuid='define'
d_setgrent='define'
d_setgrps='define'
d_sethent='define'
d_setlinebuf='define'
d_setlocale='define'
d_setnent='define'
d_setpent='define'
d_setpgid='define'
d_setpgrp='define'
d_setpgrp2=''
d_setprior='define'
d_setpwent='define'
d_setregid='define'
d_setresgid=''
d_setresuid=''
d_setreuid='define'
d_setrgid='define'
d_setruid='define'
d_setsent='define'
d_setsid='define'
d_setvbuf='define'
d_sfio=''
d_shm='define'
d_shmat='define'
d_shmatprototype='define'
d_shmctl='define'
d_shmdt='define'
d_shmget='define'
d_sigaction='define'
d_sigsetjmp='define'
d_socket='define'
d_sockpair='define'
d_statblks='define'
d_stdio_cnt_lval='define'
d_stdio_ptr_lval='define'
d_stdiobase='define'
d_stdstdio='define'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
d_strtod='define'
d_strtol='define'
d_strtoul='define'
d_strxfrm='define'
d_suidsafe=''
d_symlink='define'
d_syscall='define'
d_sysconf='define'
d_sysernlst=''
d_syserrlst='define'
d_system='define'
d_tcgetpgrp='define'
d_tcsetpgrp='define'
d_telldir='define'
d_time='define'
d_times='define'
d_truncate='define'
d_tzname='define'
d_umask='define'
d_uname='define'
d_union_semun='define'
d_vfork=''
d_void_closedir=''
d_voidsig='define'
d_voidtty=''
d_volatile='define'
d_vprintf='define'
d_wait4=''
d_waitpid='define'
d_wcstombs='define'
d_wctomb='define'
d_xenix=''
date='date'
db_hashtype='int'
db_prefixtype='int'
defvoidused='15'
direntrytype='struct dirent'
dlext='so'
dlsrc='dl_dlopen.xs'
doublesize='8'
dynamic_ext='B DB_File Data/Dumper Fcntl IO IPC/SysV NDBM_File Opcode POSIX SDBM_File Socket attrs re'
eagain='EAGAIN'
ebcdic=''
echo='echo'
egrep='egrep'
emacs=''
eunicefix=':'
exe_ext=''
expr='expr'
extensions='B DB_File Data/Dumper Fcntl IO IPC/SysV NDBM_File Opcode POSIX SDBM_File Socket attrs re Errno'
find='find'
firstmakefile='makefile'
flex=''
fpostype='fpos_t'
freetype='void'
full_csh='/sbin/csh'
full_sed='/sbin/sed'
gccversion=''
gidtype='gid_t'
glibpth='/usr/shlib  /shlib /lib/pa1.1 /usr/lib/large /lib /usr/lib /usr/lib/386 /lib/386 /lib/large /usr/lib/small /lib/small /usr/ccs/lib /usr/ucblib /u
sr/local/lib '
grep='grep'
groupcat='cat /etc/group'
groupstype='gid_t'
gzip='gzip'
h_fcntl='false'
h_sysfile='true'
hint='previous'
hostcat='cat /etc/hosts'
huge=''
i_arpainet='define'
i_bsdioctl=''
i_db='define'
i_dbm='define'
i_dirent='define'
i_dld=''
i_dlfcn='define'
i_fcntl=''
i_float='define'
i_gdbm=''
i_grp='define'
i_limits='define'
i_locale='define'
i_malloc='define'
i_math='define'
i_memory=''
i_ndbm='define'
i_netdb='define'
i_neterrno=''
i_niin='define'
i_pwd='define'
i_rpcsvcdbm=''
i_sfio=''
i_sgtty=''
i_stdarg='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
i_sysdir='define'
i_sysfile='define'
i_sysfilio='define'
i_sysin=''
i_sysioctl='define'
i_sysndir=''
i_sysparam='define'
i_sysresrc='define'
i_sysselct='define'
i_syssockio=''
i_sysstat='define'
i_systime='define'
i_systimek=''
i_systimes='define'
i_systypes='define'
i_sysun='define'
i_syswait='define'
i_termio=''
i_termios='define'
i_time=''
i_unistd='define'
i_utime='define'
i_values='define'
i_varargs=''
i_varhdr='stdarg.h'
i_vfork=''
incpath=''
inews=''
installarchlib='/usr/share/lib/perl5/5.005/IP22-irix'
installbin='/usr/sbin'
installman1dir='/usr/share/man/man1'
installman3dir='/usr/share/man/man3'
installprivlib='/usr/share/lib/perl5/5.005'
installscript='/usr/sbin'
installsitearch='/usr/share/lib/perl5/site_perl/5.005/IP22-irix'
installsitelib='/usr/share/lib/perl5/site_perl/5.005'
intsize='4'
known_extensions='B DB_File Data/Dumper Fcntl GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Thread attrs re'
ksh=''
large=''
ld='ld -mips4 -n32 -no_unresolved -shared -update_registry /usr/lib32/so_locations'
lddlflags='-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 -L/usr/lib32 -L/lib32 -rpath /server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/l
ib32:/lib32'
ldflags='-L/server/people/staff/easmith/lib32 -L/usr/lib32/mips4 -L/usr/lib32 -L/lib32 -rpath /server/people/staff/easmith/lib32:/usr/lib32/mips4:/usr/lib
32:/lib32'
less='less'
lib_ext='.a'
libc='/usr/lib32/mips4/libc.so'
libperl='libperl.a'
libpth='/server/people/staff/easmith/lib32 /usr/lib32/mips4 /usr/lib32 /lib32'
libs='-lgdbm -ldb -lm -lc'
libswanted='sfio inet nm ndbm gdbm dbm db dld ld m c cposix posix ndir dir ucb BSD x'
line='line'
lint=''
lkflags=''
ln='ln'
lns='/sbin/ln -s'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='16'
longlongsize='8'
longsize='4'
lp=''
lpr=''
ls='ls'
lseektype='off_t'
mail=''
mailx=''
make='make'
make_set_make='#'
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
man1dir='/usr/share/man/man1'
man1direxp='/usr/share/man/man1'
man1ext='1'
man3dir='/usr/share/man/man3'
man3direxp='/usr/share/man/man3'
man3ext='3'
medium=''
mips=''
mips_type='System V'
mkdir='mkdir'
models='none'
modetype='mode_t'
more='more'
mv=''
myarchname='IP22-irix'
mydomain='.rutgers.edu'
myhostname='titania1'
myuname='irix titania1 6.2 03131015 ip22 '
n=''
netdb_hlen_type='int'
netdb_host_type='const void *'
netdb_name_type='const char *'
netdb_net_type='long'
nm='nm'
nm_opt='-p'
nm_so_opt='-p'
nonxs_ext='Errno'
nroff='nroff'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
optimize='-TARG:processor=r5000 -O3 -OPT:fast_sqrt=OFF:Olimit=0 -TENV:X=0 -OPT:fast_io=ON -LNO:opt=1:ou_further=3 -OPT:fold_unsafe_relops=OFF:div_split=OF
F:IEEE_arithmetic=1:roundoff=0 -LNO:vintr=OFF -OPT:got_call_conversion=OFF -INLINE:=ON -TARG:platform=ip22_5k'
orderlib='false'
osname='irix'
osvers='6.2'
package='perl5'
pager='/server/people/staff/easmith/compiled/less'
passcat='cat /etc/passwd'
patchlevel='5'
path_sep=':'
perl='perl'
perladmin='easmith@beatrice.rutgers.edu'
perlpath='/usr/sbin/perl'
pg='pg'
phostname='hostname'
pidtype='pid_t'
plibpth='/usr/lib32 /lib32 /usr/ccs/lib'
pmake=''
pp_ctl_cflags='optimize=-O'
pr=''
prefix='/usr/share'
prefixexp='/usr/share'
privlib='/usr/share/lib/perl5/5.005'
privlibexp='/usr/share/lib/perl5/5.005'
prototype='define'
ptrsize='4'
randbits='15'
ranlib=':'
rd_nodata='-1'
rm='rm'
rmail=''
runnm='true'
scriptdir='/usr/sbin'
scriptdirexp='/usr/sbin'
sed='sed'
selecttype='fd_set *'
sendmail='sendmail'
sh='/bin/sh'
shar=''
sharpbang='#!'
shmattype='void *'
shortsize='2'
shrpenv=''
shsharp='true'
sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR WINCH URG IO STOP TSTP CONT TTIN TTOU VTALRM PROF XC
PU XFSZ 32 CKPT RESTART NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 PTINTR PTRESCHED RTMIN NUM50 NUM51 NUM52 NUM53 NUM54 NUM55
 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL '
sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "C
HLD", "PWR", "WINCH", "URG", "IO", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "VTALRM", "PROF", "XCPU", "XFSZ", "32", "CKPT", "RESTART", "NUM35", "NUM36", "N
UM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "PTINTR", "PTRESCHED", "RTMIN", "NUM50", "NUM51", "NUM52", "NUM53"
, "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", 0'
sig_num='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 18, 22, 0'
signal_t='void'
sitearch='/usr/share/lib/perl5/site_perl/5.005/IP22-irix'
sitearchexp='/usr/share/lib/perl5/site_perl/5.005/IP22-irix'
sitelib='/usr/share/lib/perl5/site_perl/5.005'
sitelibexp='/usr/share/lib/perl5/site_perl/5.005'
sizetype='size_t'
sleep=''
smail=''
small=''
so='so'
sockethdr=''
socketlib=''
sort='sort'
spackage='Perl5'
spitshell='cat'
split=''
src='.'
ssizetype='ssize_t'
startperl='#!/usr/sbin/perl'
startsh='#!/bin/sh'
static_ext=' '
stdchar='unsigned char'
stdio_base='((fp)->_base)'
stdio_bufsiz='((fp)->_cnt + (fp)->_ptr - (fp)->_base)'
stdio_cnt='((fp)->_cnt)'
stdio_filbuf=''
stdio_ptr='((fp)->_ptr)'
strings='/usr/include/string.h'
submit=''
subversion='2'
sysman='/usr/share/man/man1'
tail=''
tar=''
tbl=''
tee='tee'
test='test'
timeincl='/usr/include/sys/time.h '
timetype='time_t'
touch='touch'
tr='tr'
trnl='\n'
troff=''
uidtype='uid_t'
uname='uname'
uniq='uniq'
usedl='define'
usemymalloc='y'
usenm='true'
useopcode='true'
useperlio=''
useposix='true'
usesfio='false'
useshrplib='false'
usethreads=''
usevfork='false'
usrinc='/usr/include'
uuname=''
version='5.00502'
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
zcat=''
zip='zip'



@p5pRT
Copy link
Author

p5pRT commented Nov 19, 1999

From @vanstyn

In <199911182312.SAA08627@​feste.rutgers.edu>, Ed Allen Smith writes​:
:This is a bug report for perl from easmith@​beatrice.rutgers.edu,
:generated with the help of perlbug 1.26 running under perl 5.00502.

The latest stable version of perl is 5.005_03 - please try your
program under that version.

:Hi. The following program leads to a core dump.
:
:#!/usr/sbin/perl -w
:
:undef($/);
:
:%functions = ();
:
:foreach $file (@​ARGV) {
: (open(FILE, $file)) || (die "Can't open $file for reading​: $!; stopped");
[snip]

I was unable to reproduce your problem with a 5.005_02 perl here,
when I tried throwing some random C source files at it. However I
have no idea what the program is trying to do or what style of data
it expects, and there was no output from the program when I tried
running it.

If your problem persists under 5.005_03, please a) reduce the test
case so that both code and data are as small as possible and b)
provide the necessary data as well as the code in your bug report.

Thanks,

Hugo van der Sanden

@p5pRT
Copy link
Author

p5pRT commented Nov 22, 1999

From [Unknown Contact. See original ticket]

At 10​:32 +0100 1999-11-19, Hugo wrote​:

If your problem persists under 5.005_03, please a) reduce the test
case so that both code and data are as small as possible and b)
provide the necessary data as well as the code in your bug report.

Sage advice. However, the keys "complex regex", "data-dependent", and
"core dump" index the phrase "stack overflow due to deep recursion in regex
engine" for me. While your stack trace doesn't suggest that recursion's
your problem, you might try running the script against your data with an
increased stack allocation to see if the problem goes away. Whatever the
outcome, please let us know.

--
Dominic Dunlop

@p5pRT
Copy link
Author

p5pRT commented Dec 12, 1999

From [Unknown Contact. See original ticket]

  Please unsubscribe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant