Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.98k stars 560 forks source link

5.10.1 [Cygwin] Segmentation fault (core dumped) / hash allocation? #10018

Open p5pRT opened 14 years ago

p5pRT commented 14 years ago

Migrated from rt.perl.org#71232 (status was 'open')

Searchable as RT71232$

p5pRT commented 14 years ago

From @jaalto

DESCRIPTION

Running a Perl program "whohas"​:

  http​://packages.debian.org/unstable/whohas

under http​://www.cygwin.com Perl 5.10.1 (official port)\, the final rounds before core dump are​:

  PERLDB_OPTS="NonStop=1 \   AutoTrace=1 \   frame=2" \   perl -dS ./whohas

  ...   197​: (*{"${callpkg}​::$sym"} = \&{"${pkg}​::$sym"}\, next)   198​: unless $sym =~ s/^(\W)//;   197​: (*{"${callpkg}​::$sym"} = \&{"${pkg}​::$sym"}\, next)   198​: unless $sym =~ s/^(\W)//;   197​: (*{"${callpkg}​::$sym"} = \&{"${pkg}​::$sym"}\, next)   198​: unless $sym =~ s/^(\W)//;   197​: (*{"${callpkg}​::$sym"} = \&{"${pkg}​::$sym"}\, next)   198​: unless $sym =~ s/^(\W)//;   197​: (*{"${callpkg}​::$sym"} = \&{"${pkg}​::$sym"}\, next)   198​: unless $sym =~ s/^(\W)//;   197​: (*{"${callpkg}​::$sym"} = \&{"${pkg}​::$sym"}\, next)   198​: unless $sym =~ s/^(\W)//;   197​: (*{"${callpkg}​::$sym"} = \&{"${pkg}​::$sym"}\, next)   198​: unless $sym =~ s/^(\W)//;   197​: (*{"${callpkg}​::$sym"} = \&{"${pkg}​::$sym"}\, next)   198​: unless $sym =~ s/^(\W)//;   exited Exporter​::export   exited IO​::Socket​::import   exited CODE(0x16d1ae38)   Segmentation fault (core dumped)

The call generated a "perl.exe.stackdump" whose contents read​:

  $ cat perl.exe.stackdump   Exception​: STATUS_ACCESS_VIOLATION at eip=610E4DF6   eax=10010000 ebx=10040000 ecx=10010000 edx=00000000 esi=17230FC8 edi=00000028   ebp=17335000 esp=047FB2A4 program=C​:\cygwin-1.7\root\bin\perl.exe\, pid 4796\, thread unknown (0x13DC)   cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023   Stack trace​:   Frame Function Args   17335000 610E4DF6 (00000000\, 00000000\, 00000000\, 00000000)   End of stack trace

Please let me know how can I help more.

ENVIRONMENT

perl --version

This is perl\, v5.10.1 (*) built for i686-cygwin-thread-multi-64int (with 12 registered patches\, see perl -V for more detail)

CONTENT OF REPORT​: perlbug -d


Flags​:   category=   severity=


Site configuration information for perl 5.10.1​:

Configured by rurban at Wed Nov 25 17​:53​:54 GMT 2009.

Summary of my perl5 (revision 5 version 10 subversion 1) configuration​:

  Platform​:   osname=cygwin\, osvers=1.7.0(0.21853)\, archname=i686-cygwin-thread-multi-64int   uname='cygwin_nt-5.1 reini 1.7.0(0.21853) 2009-11-19 10​:07 i686 cygwin '   config_args='-de -Dlibperl=cygperl5_10.dll -Dmksymlinks -Dusethreads -Dmad=y'   hint=recommended\, useposix=true\, d_sigaction=define   useithreads=define\, usemultiplicity=define   useperlio=define\, d_sfio=undef\, uselargefiles=define\, usesocks=undef   use64bitint=define\, use64bitall=undef\, uselongdouble=undef   usemymalloc=y\, bincompat5005=undef   Compiler​:   cc='gcc'\, ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'\,   optimize='-O3'\,   cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'   ccversion=''\, gccversion='4.3.4 20090804 (release) 1'\, gccosandvers=''   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8\, byteorder=12345678   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=12   ivtype='long long'\, ivsize=8\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8   alignbytes=8\, prototype=define   Linker and Libraries​:   ld='g++'\, ldflags =' -Wl\,--enable-auto-import -Wl\,--export-all-symbols -Wl\,--stack\,8388608 -Wl\,--enable-auto-image-base -fstack-protector -L/usr/local/lib'   libpth=/usr/local/lib /usr/lib /lib   libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat   perllibs=-ldl -lcrypt   libc=/usr/lib/libc.a\, so=dll\, useshrplib=true\, libperl=cygperl5_10.dll   gnulibc_version=''   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=dll\, d_dlsymun=undef\, ccdlflags=' '   cccdlflags=' '\, lddlflags=' --shared -Wl\,--enable-auto-import -Wl\,--export-all-symbols -Wl\,--stack\,8388608 -Wl\,--enable-auto-image-base -L/usr/local/lib -fstack-protector'

Locally applied patches​:   CYG11 no-bs   CYG12 no archlib in otherlibdirs   CYG14 Dynaloader   CYG15 static-Win32CORE   CYG17 utf8-paths   CYG21 LibList-Kid.patch   CYG22 cygwin-1.7 hints   CYG23 544-stat   CYG24 build man pages   CYG25 use same image-base when exchanging privlib dlls   Bug#55162 File​::Spec​::case_tolerant performance   disable ExtUtils​::MakeMaker​::Coverage in Sys-Syslog


@​INC for perl 5.10.1​:   /usr/lib/perl5/5.10/i686-cygwin   /usr/lib/perl5/5.10   /usr/lib/perl5/site_perl/5.10/i686-cygwin   /usr/lib/perl5/site_perl/5.10   /usr/lib/perl5/vendor_perl/5.10/i686-cygwin   /usr/lib/perl5/vendor_perl/5.10   /usr/lib/perl5/vendor_perl/5.10   /usr/lib/perl5/site_perl/5.8   /usr/lib/perl5/vendor_perl/5.8   .


Environment for perl 5.10.1​:   CYGWIN_ROOT=C​:\cygwin-1.7\root   CYGWIN_ROOT2=C​:\cygwin\root   HOME=/home/jaalto   LANG=en_US.UTF-8   LANGUAGE (unset)   LC_NUMERIC=C   LD_LIBRARY_PATH=/lib​:/usr/local/lib​:/usr/lib   LOGDIR (unset)   PATH=/home/jaalto/var/link/bin​:/usr/local/bin​:/usr/bin​:/cygdrive/c/cygwin-1.7/lib​:/cygdrive/c/WINDOWS/system32​:/cygdrive/c/WINDOWS​:/cygdrive/c/WINDOWS/System32/Wbem​:/cygdrive/c/Program Files/putty​:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/Core-Static​:/cygdrive/c/Program Files/Common Files/Roxio Shared/DLLShared/​:/cygdrive/c/Program Files/Common Files/Roxio Shared/DLLShared/​:/cygdrive/c/Program Files/Common Files/Roxio Shared/9.0/DLLShared/​:/cygdrive/c/Program Files/Hewlett-Packard/IAM/bin​:/cygdrive/c/program files/putty​:/cygdrive/c/Program Files/QuickTime/QTSystem​:/cygdrive/c/Program Files/OOo-dev 3/program​:/cygdrive/c/Program Files/TortoiseGit/bin​:/cygdrive/c/Program Files/Bazaar   PERL_BADLANG (unset)   SHELL=/bin/sh

p5pRT commented 14 years ago

From @rurban

Reproducable. There's some endless loop eating all the memory. The fail is in malloc() from a harmless newGP.

I'll have to bring up my debian libs to 5.10 to cross-check it. -- Reini Urban

p5pRT commented 14 years ago

From @rurban

Not repro at my debian 5.10.1 and 5.8.8\, Repro under cygwin with all my perl packages since 5.10​: 5.10.0\, 5.10.1\, 5.11.2. cygwin 5.8.9 works okay. -- Reini Urban

p5pRT commented 14 years ago

The RT System itself - Status changed from 'new' to 'open'