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

Bleadperl 9de15fe breaks MATISSE/Perl-Metrics-Simple-0.15.tar.gz #10663

Closed
p5pRT opened this issue Sep 25, 2010 · 9 comments
Closed

Bleadperl 9de15fe breaks MATISSE/Perl-Metrics-Simple-0.15.tar.gz #10663

p5pRT opened this issue Sep 25, 2010 · 9 comments

Comments

@p5pRT
Copy link

p5pRT commented Sep 25, 2010

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

Searchable as RT78040$

@p5pRT
Copy link
Author

p5pRT commented Sep 25, 2010

From @andk

The fail is revealing a glibc disgruntlement of the sort below. Let me
know if I can provide more information.

  *** glibc detected *** /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl​: free()​: invalid pointer​: 0x00000000012c5ba0 ***
  ======= Backtrace​: =========
  /lib/libc.so.6(+0x71b16)[0x7f1314b9fb16]
  /lib/libc.so.6(cfree+0x6c)[0x7f1314ba488c]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_sv_clear+0x47c)[0x49a53c]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_sv_free2+0x36)[0x49aaf6]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_op_clear+0x335)[0x4226d5]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_op_free+0xfb)[0x42285b]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_pmruntime+0x52b)[0x4289fb]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_yyparse+0x23b6)[0x45c126]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl[0x4b9280]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_pp_require+0xc0f)[0x4badcf]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_runops_standard+0x13)[0x488903]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(perl_run+0x2f7)[0x434b77]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(main+0x10c)[0x420bdc]
  /lib/libc.so.6(__libc_start_main+0xfd)[0x7f1314b4cc4d]
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl[0x420a09]
  ======= Memory map​: ========
  00400000-0053d000 r-xp 00000000 fd​:02 2537572 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl
  0073c000-00741000 rw-p 0013c000 fd​:02 2537572 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl
  0089e000-012ed000 rw-p 00000000 00​:00 0 [heap]
  7f130c000000-7f130c021000 rw-p 00000000 00​:00 0
  7f130c021000-7f1310000000 ---p 00000000 00​:00 0
  7f1312fd7000-7f1312fed000 r-xp 00000000 08​:07 915717 /lib/libgcc_s.so.1
  7f1312fed000-7f13131ec000 ---p 00016000 08​:07 915717 /lib/libgcc_s.so.1
  7f13131ec000-7f13131ed000 rw-p 00015000 08​:07 915717 /lib/libgcc_s.so.1
  7f13131ed000-7f1313205000 r-xp 00000000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
  7f1313205000-7f1313405000 ---p 00018000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
  7f1313405000-7f1313408000 rw-p 00018000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
  7f1313408000-7f1313417000 r-xp 00000000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
  7f1313417000-7f1313616000 ---p 0000f000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
  7f1313616000-7f1313617000 rw-p 0000e000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
  7f1313617000-7f131361a000 r-xp 00000000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
  7f131361a000-7f1313819000 ---p 00003000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
  7f1313819000-7f131381a000 rw-p 00002000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
  7f131381a000-7f131381e000 r-xp 00000000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
  7f131381e000-7f1313a1d000 ---p 00004000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
  7f1313a1d000-7f1313a1e000 rw-p 00003000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
  7f1313a1e000-7f1313a22000 r-xp 00000000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
  7f1313a22000-7f1313c21000 ---p 00004000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
  7f1313c21000-7f1313c22000 rw-p 00003000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
  7f1313c22000-7f1313c25000 r-xp 00000000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
  7f1313c25000-7f1313e25000 ---p 00003000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
  7f1313e25000-7f1313e26000 rw-p 00003000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
  7f1313e26000-7f1313e2a000 r-xp 00000000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/IO/IO.so
  7f1313e2a000-7f131402a000 ---p 00004000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/IO/IO.so
  7f131402a000-7f131402b000 rw-p 00004000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-lin

git bisect​:

  commit 9de15fe
  Author​: Karl Williamson <public@​khwilliamson.com>
  Date​: Mon Sep 20 18​:57​:24 2010 -0600

  Add /d, /l, /u (infixed) regex modifiers

perl -V​:

  Summary of my perl5 (revision 5 version 13 subversion 5) configuration​:
  Commit id​: 9de15fe
  Platform​:
  osname=linux, osvers=2.6.32-2-amd64, archname=x86_64-linux-ld
  uname='linux k81 2.6.32-2-amd64 #1 smp fri feb 12 00​:01​:47 utc 2010 x86_64 gnulinux '
  config_args='-Dprefix=/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Uuseithreads -Duselongdouble'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
  use64bitint=define, use64bitall=define, uselongdouble=define
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  optimize='-O2',
  cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
  ccversion='', gccversion='4.4.4', 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='long double', nvsize=16, Off_t='off_t', lseeksize=8
  alignbytes=16, prototype=define
  Linker and Libraries​:
  ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64
  libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
  perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
  libc=/lib/libc-2.11.2.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.11.2'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
  cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'

  Characteristics of this binary (from libperl)​:
  Compile-time options​: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_USE_DEVEL
  USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
  USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF
  Built under linux
  Compiled at Sep 25 2010 11​:20​:20
  @​INC​:
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld
  /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5
  .

--
andreas

@p5pRT
Copy link
Author

p5pRT commented Sep 25, 2010

From @khwilliamson

(Andreas J. Koenig) (via RT) wrote​:

# New Ticket Created by (Andreas J. Koenig)
# Please include the string​: [perl #78040]
# in the subject line of all future correspondence about this issue.
# <URL​: http​://rt.perl.org/rt3/Ticket/Display.html?id=78040 >

The fail is revealing a glibc disgruntlement of the sort below. Let me
know if I can provide more information.

*** glibc detected *** /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl​: free()​: invalid pointer​: 0x00000000012c5ba0 ***
======= Backtrace​: =========
/lib/libc.so.6(+0x71b16)[0x7f1314b9fb16]
/lib/libc.so.6(cfree+0x6c)[0x7f1314ba488c]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_sv_clear+0x47c)[0x49a53c]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_sv_free2+0x36)[0x49aaf6]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_op_clear+0x335)[0x4226d5]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_op_free+0xfb)[0x42285b]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_pmruntime+0x52b)[0x4289fb]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_yyparse+0x23b6)[0x45c126]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl[0x4b9280]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_pp_require+0xc0f)[0x4badcf]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_runops_standard+0x13)[0x488903]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(perl_run+0x2f7)[0x434b77]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(main+0x10c)[0x420bdc]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7f1314b4cc4d]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl[0x420a09]
======= Memory map​: ========
00400000-0053d000 r-xp 00000000 fd​:02 2537572 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl
0073c000-00741000 rw-p 0013c000 fd​:02 2537572 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl
0089e000-012ed000 rw-p 00000000 00​:00 0 [heap]
7f130c000000-7f130c021000 rw-p 00000000 00​:00 0
7f130c021000-7f1310000000 ---p 00000000 00​:00 0
7f1312fd7000-7f1312fed000 r-xp 00000000 08​:07 915717 /lib/libgcc_s.so.1
7f1312fed000-7f13131ec000 ---p 00016000 08​:07 915717 /lib/libgcc_s.so.1
7f13131ec000-7f13131ed000 rw-p 00015000 08​:07 915717 /lib/libgcc_s.so.1
7f13131ed000-7f1313205000 r-xp 00000000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
7f1313205000-7f1313405000 ---p 00018000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
7f1313405000-7f1313408000 rw-p 00018000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
7f1313408000-7f1313417000 r-xp 00000000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
7f1313417000-7f1313616000 ---p 0000f000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
7f1313616000-7f1313617000 rw-p 0000e000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
7f1313617000-7f131361a000 r-xp 00000000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
7f131361a000-7f1313819000 ---p 00003000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
7f1313819000-7f131381a000 rw-p 00002000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
7f131381a000-7f131381e000 r-xp 00000000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
7f131381e000-7f1313a1d000 ---p 00004000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
7f1313a1d000-7f1313a1e000 rw-p 00003000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
7f1313a1e000-7f1313a22000 r-xp 00000000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
7f1313a22000-7f1313c21000 ---p 00004000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
7f1313c21000-7f1313c22000 rw-p 00003000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
7f1313c22000-7f1313c25000 r-xp 00000000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
7f1313c25000-7f1313e25000 ---p 00003000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
7f1313e25000-7f1313e26000 rw-p 00003000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
7f1313e26000-7f1313e2a000 r-xp 00000000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/IO/IO.so
7f1313e2a000-7f131402a000 ---p 00004000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/IO/IO.so
7f131402a000-7f131402b000 rw-p 00004000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-lin

git bisect​:

commit 9de15fe
Author​: Karl Williamson <public@​khwilliamson.com>
Date​: Mon Sep 20 18​:57​:24 2010 -0600

Add /d, /l, /u (infixed) regex modifiers

perl -V​:

Summary of my perl5 (revision 5 version 13 subversion 5) configuration​:
Commit id​: 9de15fe
Platform​:
osname=linux, osvers=2.6.32-2-amd64, archname=x86_64-linux-ld
uname='linux k81 2.6.32-2-amd64 #1 smp fri feb 12 00​:01​:47 utc 2010 x86_64 gnulinux '
config_args='-Dprefix=/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Uuseithreads -Duselongdouble'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=define
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.4.4', 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='long double', nvsize=16, Off_t='off_t', lseeksize=8
alignbytes=16, prototype=define
Linker and Libraries​:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.11.2.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.11.2'
Dynamic Linking​:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'

Characteristics of this binary (from libperl)​:
Compile-time options​: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_USE_DEVEL
USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF
Built under linux
Compiled at Sep 25 2010 11​:20​:20
@​INC​:
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5
.

I'll look at this when I get back on tuesday afternoon GMT-6

@p5pRT
Copy link
Author

p5pRT commented Sep 25, 2010

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

@p5pRT
Copy link
Author

p5pRT commented Sep 29, 2010

From @khwilliamson

I'm investigating this problem. I can't reproduce this with the test
suit furnished with the module. Do you any specific test cases where it
has failed?

(Andreas J. Koenig) (via RT) wrote​:

# New Ticket Created by (Andreas J. Koenig)
# Please include the string​: [perl #78040]
# in the subject line of all future correspondence about this issue.
# <URL​: http​://rt.perl.org/rt3/Ticket/Display.html?id=78040 >

The fail is revealing a glibc disgruntlement of the sort below. Let me
know if I can provide more information.

*** glibc detected *** /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl​: free()​: invalid pointer​: 0x00000000012c5ba0 ***
======= Backtrace​: =========
/lib/libc.so.6(+0x71b16)[0x7f1314b9fb16]
/lib/libc.so.6(cfree+0x6c)[0x7f1314ba488c]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_sv_clear+0x47c)[0x49a53c]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_sv_free2+0x36)[0x49aaf6]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_op_clear+0x335)[0x4226d5]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_op_free+0xfb)[0x42285b]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_pmruntime+0x52b)[0x4289fb]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_yyparse+0x23b6)[0x45c126]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl[0x4b9280]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_pp_require+0xc0f)[0x4badcf]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(Perl_runops_standard+0x13)[0x488903]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(perl_run+0x2f7)[0x434b77]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl(main+0x10c)[0x420bdc]
/lib/libc.so.6(__libc_start_main+0xfd)[0x7f1314b4cc4d]
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl[0x420a09]
======= Memory map​: ========
00400000-0053d000 r-xp 00000000 fd​:02 2537572 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl
0073c000-00741000 rw-p 0013c000 fd​:02 2537572 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/bin/perl
0089e000-012ed000 rw-p 00000000 00​:00 0 [heap]
7f130c000000-7f130c021000 rw-p 00000000 00​:00 0
7f130c021000-7f1310000000 ---p 00000000 00​:00 0
7f1312fd7000-7f1312fed000 r-xp 00000000 08​:07 915717 /lib/libgcc_s.so.1
7f1312fed000-7f13131ec000 ---p 00016000 08​:07 915717 /lib/libgcc_s.so.1
7f13131ec000-7f13131ed000 rw-p 00015000 08​:07 915717 /lib/libgcc_s.so.1
7f13131ed000-7f1313205000 r-xp 00000000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
7f1313205000-7f1313405000 ---p 00018000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
7f1313405000-7f1313408000 rw-p 00018000 fd​:02 2538017 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/POSIX/POSIX.so
7f1313408000-7f1313417000 r-xp 00000000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
7f1313417000-7f1313616000 ---p 0000f000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
7f1313616000-7f1313617000 rw-p 0000e000 fd​:02 2541826 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/List/MoreUtils/MoreUtils.so
7f1313617000-7f131361a000 r-xp 00000000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
7f131361a000-7f1313819000 ---p 00003000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
7f1313819000-7f131381a000 rw-p 00002000 fd​:02 2541791 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Clone/Clone.so
7f131381a000-7f131381e000 r-xp 00000000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
7f131381e000-7f1313a1d000 ---p 00004000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
7f1313a1d000-7f1313a1e000 rw-p 00003000 fd​:02 2541786 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld/auto/Params/Util/Util.so
7f1313a1e000-7f1313a22000 r-xp 00000000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
7f1313a22000-7f1313c21000 ---p 00004000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
7f1313c21000-7f1313c22000 rw-p 00003000 fd​:02 2537743 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Digest/MD5/MD5.so
7f1313c22000-7f1313c25000 r-xp 00000000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
7f1313c25000-7f1313e25000 ---p 00003000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
7f1313e25000-7f1313e26000 rw-p 00003000 fd​:02 2537797 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/Fcntl/Fcntl.so
7f1313e26000-7f1313e2a000 r-xp 00000000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/IO/IO.so
7f1313e2a000-7f131402a000 ---p 00004000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld/auto/IO/IO.so
7f131402a000-7f131402b000 rw-p 00004000 fd​:02 2537887 /home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-lin

git bisect​:

commit 9de15fe
Author​: Karl Williamson <public@​khwilliamson.com>
Date​: Mon Sep 20 18​:57​:24 2010 -0600

Add /d, /l, /u (infixed) regex modifiers

perl -V​:

Summary of my perl5 (revision 5 version 13 subversion 5) configuration​:
Commit id​: 9de15fe
Platform​:
osname=linux, osvers=2.6.32-2-amd64, archname=x86_64-linux-ld
uname='linux k81 2.6.32-2-amd64 #1 smp fri feb 12 00​:01​:47 utc 2010 x86_64 gnulinux '
config_args='-Dprefix=/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Uuseithreads -Duselongdouble'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=define
usemymalloc=n, bincompat5005=undef
Compiler​:
cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.4.4', 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='long double', nvsize=16, Off_t='off_t', lseeksize=8
alignbytes=16, prototype=define
Linker and Libraries​:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.11.2.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.11.2'
Dynamic Linking​:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'

Characteristics of this binary (from libperl)​:
Compile-time options​: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_USE_DEVEL
USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF
Built under linux
Compiled at Sep 25 2010 11​:20​:20
@​INC​:
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5/x86_64-linux-ld
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/site_perl/5.13.5
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5/x86_64-linux-ld
/home/src/perl/repoperls/installed-perls/perl/v5.13.5-74-g9de15fe/lib/5.13.5
.

@p5pRT
Copy link
Author

p5pRT commented Sep 29, 2010

From @andk

On Tue, 28 Sep 2010 20​:56​:16 -0700, "karl williamson via RT" <perlbug-followup@​perl.org> said​:

  > I'm investigating this problem. I can't reproduce this with the test
  > suit furnished with the module. Do you any specific test cases where it
  > has failed?

No, it was with the test suite.

--
andreas

@p5pRT
Copy link
Author

p5pRT commented Sep 29, 2010

From @khwilliamson

Patch attached.

The root cause is that I forgot to properly account the extra space
needed by the new regex modifiers in the regex stringification, so
sometimes it wrote outside the allocated space.

@p5pRT
Copy link
Author

p5pRT commented Sep 29, 2010

From @khwilliamson

0001--perl-78040-regcomp.c-malloc-enough-space.patch
From c0b0ad942f29d37f997db5a93e007e8c0fa7af30 Mon Sep 17 00:00:00 2001
From: Karl Williamson <public@khwilliamson.com>
Date: Wed, 29 Sep 2010 13:50:52 -0600
Subject: [PATCH] [perl #78040] regcomp.c: malloc enough space

Commit 9de15fec376a8ff90a38fad0ff322c72c2995765 introduced /u, /d, and
/l regex modifiers.  Unfortunately, I forgot to adequately account for
them in the space required for the stringification of the regex.

This patch figures out separately if the caret is needed, and if one of
these charset modifiers is needed, and allocates space accordingly.

I could not figure out a simple test case for this fix.  valgrind
prior to this will show errors, and after this doesn't.
---
 regcomp.c |   33 +++++++++++++++++++++++----------
 1 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/regcomp.c b/regcomp.c
index bcdc65f..44f75b7 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -4425,33 +4425,46 @@ Perl_re_compile(pTHX_ SV * const pattern, U32 pm_flags)
     r->extflags = pm_flags;
     {
         bool has_p     = ((r->extflags & RXf_PMf_KEEPCOPY) == RXf_PMf_KEEPCOPY);
-	bool has_minus = ((r->extflags & RXf_PMf_STD_PMMOD) != RXf_PMf_STD_PMMOD);
+        bool has_charset = (r->extflags & (RXf_PMf_LOCALE|RXf_PMf_UNICODE));
+
+        /* The caret is output if there are any defaults: if not all the STD
+         * flags are set, or if no character set specifier is needed */
+        bool has_default =
+                    (((r->extflags & RXf_PMf_STD_PMMOD) != RXf_PMf_STD_PMMOD)
+                    || ! has_charset);
 	bool has_runon = ((RExC_seen & REG_SEEN_RUN_ON_COMMENT)==REG_SEEN_RUN_ON_COMMENT);
 	U16 reganch = (U16)((r->extflags & RXf_PMf_STD_PMMOD)
 			    >> RXf_PMf_STD_PMMOD_SHIFT);
 	const char *fptr = STD_PAT_MODS;        /*"msix"*/
 	char *p;
         /* Allocate for the worst case, which is all the std flags are turned
-         * on, but this means no caret.  We never output a minus, as all those
-         * are defaults, so are covered by the caret */
+         * on.  If more precision is desired, we could do a population count of
+         * the flags set.  This could be done with a small lookup table, or by
+         * shifting, masking and adding, or even, when available, assembly
+         * language for a machine-language population count.
+         * We never output a minus, as all those are defaults, so are
+         * covered by the caret */
 	const STRLEN wraplen = plen + has_p + has_runon
+            + has_default       /* If needs a caret */
+            + has_charset       /* If needs a character set specifier */
             + (sizeof(STD_PAT_MODS) - 1)
             + (sizeof("(?:)") - 1);
 
-	p = sv_grow(MUTABLE_SV(rx), wraplen + 1);
+        p = sv_grow(MUTABLE_SV(rx), wraplen + 1); /* +1 for the ending NUL */
 	SvPOK_on(rx);
 	SvFLAGS(rx) |= SvUTF8(pattern);
         *p++='('; *p++='?';
 
         /* If a default, cover it using the caret */
-        if (has_minus || (r->extflags & ~(RXf_PMf_LOCALE|RXf_PMf_UNICODE))) {
+        if (has_default) {
             *p++= DEFAULT_PAT_MOD;
         }
-        if (r->extflags & RXf_PMf_LOCALE) {
-            *p++ = LOCALE_PAT_MOD;
-        }
-        else if (r->extflags & RXf_PMf_UNICODE) {
-            *p++ = UNICODE_PAT_MOD;
+        if (has_charset) {
+            if (r->extflags & RXf_PMf_LOCALE) {
+                *p++ = LOCALE_PAT_MOD;
+            } else {
+                *p++ = UNICODE_PAT_MOD;
+            }
         }
         if (has_p)
             *p++ = KEEPCOPY_PAT_MOD; /*'p'*/
-- 
1.5.6.3

@p5pRT
Copy link
Author

p5pRT commented Sep 30, 2010

From @cpansprout

On Wed Sep 29 13​:00​:14 2010, public@​khwilliamson.com wrote​:

Patch attached.

The root cause is that I forgot to properly account the extra space
needed by the new regex modifiers in the regex stringification, so
sometimes it wrote outside the allocated space.

Thank you.
Applied as c5ea2ff.

@p5pRT
Copy link
Author

p5pRT commented Sep 30, 2010

@cpansprout - Status changed from 'open' to 'resolved'

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