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 v5.23.5-240-g27e95af breaks PEVANS/Test-MemoryGrowth-0.02.tar.gz #15104

Closed
p5pRT opened this issue Dec 28, 2015 · 7 comments
Closed

Comments

@p5pRT
Copy link

p5pRT commented Dec 28, 2015

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

Searchable as RT127054$

@p5pRT
Copy link
Author

p5pRT commented Dec 28, 2015

From @andk

Kudos once again goes to Slaven for bringing it to my attention.

bisect


27e95af is the first bad commit
commit 27e95af
Author​: Karl Williamson <khw@​cpan.org>
Date​: Tue Dec 15 22​:20​:20 2015 -0700

  regcomp.c​: Try simplifications in some qr/[...]/d

sample fail report


http​://www.cpantesters.org/cpan/report/8d109992-ad47-11e5-9f21-26bde0bfc7aa

matrix


http​://matrix.cpantesters.org/?dist=Test-MemoryGrowth

perl -V


Summary of my perl5 (revision 5 version 23 subversion 6) configuration​:
 
  Platform​:
  osname=linux, osvers=3.2.0-4-amd64, archname=x86_64-linux
  uname='linux eserte 3.2.0-4-amd64 #1 smp debian 3.2.68-1+deb7u6 x86_64 gnulinux '
  config_args='-ds -e -Dprefix=/opt/perl-5.23.6 -Dusedevel -Dusemallocwrap=no -Dcf_email=srezic@​cpan.org'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  use64bitint=define, use64bitall=define, uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2',
  optimize='-O2',
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
  ccversion='', gccversion='4.7.2', gccosandvers=''
  intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
  ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
  alignbytes=8, prototype=define
  Linker and Libraries​:
  ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
  libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc
  perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  libc=libc-2.13.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.13'
  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​: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_PRESERVE_IVUV
  PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT
  USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
  USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
  USE_PERLIO USE_PERL_ATOF
  Built under linux
  Compiled at Dec 22 2015 06​:30​:46
  %ENV​:
  PERL5LIB="/home/eserte/.cpan/build/2015122800/HTML-MasonX-ApacheLikePlackHandler-0.02-nwjVrE/blib/arch​:/home/eserte/.cpan/build/2015122800/HTML-MasonX-ApacheLikePlackHandler-0.02-nwjVrE/blib/lib​:/home/eserte/.cpan/build/2015122800/Lingua-FRA-Word2Num-0.1257-NGaSU2/blib/arch​:/home/eserte/.cpan/build/2015122800/Lingua-FRA-Word2Num-0.1257-NGaSU2/blib/lib​:/home/eserte/.cpan/build/2015122800/Module-Advisor-0.17-6NcUMf/blib/arch​:/home/eserte/.cpan/build/2015122800/Module-Advisor-0.17-6NcUMf/blib/lib​:/home/eserte/.cpan/build/2015122800/Plack-Middleware-AxsLog-0.21-ByvZUi/blib/arch​:/home/eserte/.cpan/build/2015122800/Plack-Middleware-AxsLog-0.21-ByvZUi/blib/lib​:/home/eserte/.cpan/build/2015122800/Shell-Perl-0.0023-Oczr5H/blib/arch​:/home/eserte/.cpan/build/2015122800/Shell-Perl-0.0023-Oczr5H/blib/lib​:/home/eserte/.cpan/build/2015122800/Graph-SomeUtils-0.02-1MuSfm/blib/arch​:/home/eserte/.cpan/build/2015122800/Graph-SomeUtils-0.02-1MuSfm/blib/lib​:/home/eserte/.cpan/build/2015122800/Dancer-Plugin-Legacy-Routing-0.0.4-kTpS9K/blib/arch​:/home/eserte/.cpan/build/2015122800/Dancer-Plugin-Legacy-Routing-0.0.4-kTpS9K/blib/lib​:/home/eserte/.cpan/build/2015122800/Class-Tie-InsideOut-0.11-nCXLKh/blib/arch​:/home/eserte/.cpan/build/2015122800/Class-Tie-InsideOut-0.11-nCXLKh/blib/lib​:/home/eserte/.cpan/build/2015122800/Sew-Color-1.05-vBKnAe/blib/arch​:/home/eserte/.cpan/build/2015122800/Sew-Color-1.05-vBKnAe/blib/lib​:/home/eserte/.cpan/build/2015122800/Teng-Plugin-RowObjectCreationSwitcher-0.03-BSV3r9/blib/arch​:/home/eserte/.cpan/build/2015122800/Teng-Plugin-RowObjectCreationSwitcher-0.03-BSV3r9/blib/lib​:/home/eserte/.cpan/build/2015122800/WWW-Translate-interNOSTRUM-0.13-yOXoGv/blib/arch​:/home/eserte/.cpan/build/2015122800/WWW-Translate-interNOSTRUM-0.13-yOXoGv/blib/lib​:/home/eserte/.cpan/build/2015122800/Kephra-h8WpIk/blib/arch​:/home/eserte/.cpan/build/2015122800/Kephra-h8WpIk/blib/lib​:/home/eserte/.cpan/build/2015122800/File-UserConfig-0.06-oADE3C/blib/arch​:/home/eserte/.cpan/build/2015122800/File-UserConfig-0.06-oADE3C/blib/lib​:/home/eserte/.cpan/build/2015122800/Wx-Perl-ProcessStream-0.32-nEV9PK/blib/arch​:/home/eserte/.cpan/build/2015122800/Wx-Perl-ProcessStream-0.32-nEV9PK/blib/lib​:/home/eserte/.cpan/build/2015122800/Data-Remember-0.140490-oTK3ky/blib/arch​:/home/eserte/.cpan/build/2015122800/Data-Remember-0.140490-oTK3ky/blib/lib​:/home/eserte/.cpan/build/2015122800/XML-Compile-C14N-0.94-e9gc5E/blib/arch​:/home/eserte/.cpan/build/2015122800/XML-Compile-C14N-0.94-e9gc5E/blib/lib​:/home/eserte/.cpan/build/2015122800/Dist-Zilla-Plugin-RPM-Push-0.010-nGOWd_/blib/arch​:/home/eserte/.cpan/build/2015122800/Dist-Zilla-Plugin-RPM-Push-0.010-nGOWd_/blib/lib​:/home/eserte/.cpan/build/2015122800/Localizer-Scanner-Xslate-0.05-Yfo8M9/blib/arch​:/home/eserte/.cpan/build/2015122800/Localizer-Scanner-Xslate-0.05-Yfo8M9/blib/lib​:/home/eserte/.cpan/build/2015122800/Localizer-Scanner-0.03-Zu6VjM/blib/arch​:/home/eserte/.cpan/build/2015122800/Localizer-Scanner-0.03-Zu6VjM/blib/lib​:/home/eserte/.cpan/build/2015122800/Mojolicious-Plugin-VHost-0.04-f8LF8b/blib/arch​:/home/eserte/.cpan/build/2015122800/Mojolicious-Plugin-VHost-0.04-f8LF8b/blib/lib​:/home/eserte/.cpan/build/2015122800/smokebrew-0.48-etYaVH/blib/arch​:/home/eserte/.cpan/build/2015122800/smokebrew-0.48-etYaVH/blib/lib​:/home/eserte/.cpan/build/2015122800/Teng-Plugin-SearchJoined-0.05-Kphzrs/blib/arch​:/home/eserte/.cpan/build/2015122800/Teng-Plugin-SearchJoined-0.05-Kphzrs/blib/lib​:/home/eserte/.cpan/build/2015122800/SQL-Maker-Plugin-JoinSelect-0.03-eVjTRt/blib/arch​:/home/eserte/.cpan/build/2015122800/SQL-Maker-Plugin-JoinSelect-0.03-eVjTRt/blib/lib​:/home/eserte/.cpan/build/2015122800/XML-Grammar-Vered-0.0.9-_1X4a5/blib/arch​:/home/eserte/.cpan/build/2015122800/XML-Grammar-Vered-0.0.9-_1X4a5/blib/lib​:/home/eserte/.cpan/build/2015122800/Net-DNS-Dynamic-Adfilter-0.075-WPnyxz/blib/arch​:/home/eserte/.cpan/build/2015122800/Net-DNS-Dynamic-Adfilter-0.075-WPnyxz/blib/lib​:/home/eserte/.cpan/build/2015122800/Net-DNS-Dynamic-Proxyserver-1.2-Y4L4l9/blib/arch​:/home/eserte/.cpan/build/2015122800/Net-DNS-Dynamic-Proxyserver-1.2-Y4L4l9/blib/lib"
  PERL5OPT=""
  PERL5_CPANPLUS_IS_RUNNING="9671"
  PERL5_CPAN_IS_RUNNING="9671"
  PERL5_CPAN_IS_RUNNING_IN_RECURSION="10396,9671"
  PERLDOC="-MPod​::Perldoc​::ToTextOverstrike"
  PERL_BATCH="yes"
  PERL_CANARY_STABILITY_NOPROMPT="1"
  PERL_CPAN_REPORTER_CONFIG="/var/tmp/cpansmoker-1001/2015122721/cpanreporter_001_config.ini"
  PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
  PERL_PARALLEL_SMOKER="yes"
  @​INC​:
  /home/eserte/.cpan/build/2015122800/HTML-MasonX-ApacheLikePlackHandler-0.02-nwjVrE/blib/arch
  /home/eserte/.cpan/build/2015122800/HTML-MasonX-ApacheLikePlackHandler-0.02-nwjVrE/blib/lib
  /home/eserte/.cpan/build/2015122800/Lingua-FRA-Word2Num-0.1257-NGaSU2/blib/arch
  /home/eserte/.cpan/build/2015122800/Lingua-FRA-Word2Num-0.1257-NGaSU2/blib/lib
  /home/eserte/.cpan/build/2015122800/Module-Advisor-0.17-6NcUMf/blib/arch
  /home/eserte/.cpan/build/2015122800/Module-Advisor-0.17-6NcUMf/blib/lib
  /home/eserte/.cpan/build/2015122800/Plack-Middleware-AxsLog-0.21-ByvZUi/blib/arch
  /home/eserte/.cpan/build/2015122800/Plack-Middleware-AxsLog-0.21-ByvZUi/blib/lib
  /home/eserte/.cpan/build/2015122800/Shell-Perl-0.0023-Oczr5H/blib/arch
  /home/eserte/.cpan/build/2015122800/Shell-Perl-0.0023-Oczr5H/blib/lib
  /home/eserte/.cpan/build/2015122800/Graph-SomeUtils-0.02-1MuSfm/blib/arch
  /home/eserte/.cpan/build/2015122800/Graph-SomeUtils-0.02-1MuSfm/blib/lib
  /home/eserte/.cpan/build/2015122800/Dancer-Plugin-Legacy-Routing-0.0.4-kTpS9K/blib/arch
  /home/eserte/.cpan/build/2015122800/Dancer-Plugin-Legacy-Routing-0.0.4-kTpS9K/blib/lib
  /home/eserte/.cpan/build/2015122800/Class-Tie-InsideOut-0.11-nCXLKh/blib/arch
  /home/eserte/.cpan/build/2015122800/Class-Tie-InsideOut-0.11-nCXLKh/blib/lib
  /home/eserte/.cpan/build/2015122800/Sew-Color-1.05-vBKnAe/blib/arch
  /home/eserte/.cpan/build/2015122800/Sew-Color-1.05-vBKnAe/blib/lib
  /home/eserte/.cpan/build/2015122800/Teng-Plugin-RowObjectCreationSwitcher-0.03-BSV3r9/blib/arch
  /home/eserte/.cpan/build/2015122800/Teng-Plugin-RowObjectCreationSwitcher-0.03-BSV3r9/blib/lib
  /home/eserte/.cpan/build/2015122800/WWW-Translate-interNOSTRUM-0.13-yOXoGv/blib/arch
  /home/eserte/.cpan/build/2015122800/WWW-Translate-interNOSTRUM-0.13-yOXoGv/blib/lib
  /home/eserte/.cpan/build/2015122800/Kephra-h8WpIk/blib/arch
  /home/eserte/.cpan/build/2015122800/Kephra-h8WpIk/blib/lib
  /home/eserte/.cpan/build/2015122800/File-UserConfig-0.06-oADE3C/blib/arch
  /home/eserte/.cpan/build/2015122800/File-UserConfig-0.06-oADE3C/blib/lib
  /home/eserte/.cpan/build/2015122800/Wx-Perl-ProcessStream-0.32-nEV9PK/blib/arch
  /home/eserte/.cpan/build/2015122800/Wx-Perl-ProcessStream-0.32-nEV9PK/blib/lib
  /home/eserte/.cpan/build/2015122800/Data-Remember-0.140490-oTK3ky/blib/arch
  /home/eserte/.cpan/build/2015122800/Data-Remember-0.140490-oTK3ky/blib/lib
  /home/eserte/.cpan/build/2015122800/XML-Compile-C14N-0.94-e9gc5E/blib/arch
  /home/eserte/.cpan/build/2015122800/XML-Compile-C14N-0.94-e9gc5E/blib/lib
  /home/eserte/.cpan/build/2015122800/Dist-Zilla-Plugin-RPM-Push-0.010-nGOWd_/blib/arch
  /home/eserte/.cpan/build/2015122800/Dist-Zilla-Plugin-RPM-Push-0.010-nGOWd_/blib/lib
  /home/eserte/.cpan/build/2015122800/Localizer-Scanner-Xslate-0.05-Yfo8M9/blib/arch
  /home/eserte/.cpan/build/2015122800/Localizer-Scanner-Xslate-0.05-Yfo8M9/blib/lib
  /home/eserte/.cpan/build/2015122800/Localizer-Scanner-0.03-Zu6VjM/blib/arch
  /home/eserte/.cpan/build/2015122800/Localizer-Scanner-0.03-Zu6VjM/blib/lib
  /home/eserte/.cpan/build/2015122800/Mojolicious-Plugin-VHost-0.04-f8LF8b/blib/arch
  /home/eserte/.cpan/build/2015122800/Mojolicious-Plugin-VHost-0.04-f8LF8b/blib/lib
  /home/eserte/.cpan/build/2015122800/smokebrew-0.48-etYaVH/blib/arch
  /home/eserte/.cpan/build/2015122800/smokebrew-0.48-etYaVH/blib/lib
  /home/eserte/.cpan/build/2015122800/Teng-Plugin-SearchJoined-0.05-Kphzrs/blib/arch
  /home/eserte/.cpan/build/2015122800/Teng-Plugin-SearchJoined-0.05-Kphzrs/blib/lib
  /home/eserte/.cpan/build/2015122800/SQL-Maker-Plugin-JoinSelect-0.03-eVjTRt/blib/arch
  /home/eserte/.cpan/build/2015122800/SQL-Maker-Plugin-JoinSelect-0.03-eVjTRt/blib/lib
  /home/eserte/.cpan/build/2015122800/XML-Grammar-Vered-0.0.9-_1X4a5/blib/arch
  /home/eserte/.cpan/build/2015122800/XML-Grammar-Vered-0.0.9-_1X4a5/blib/lib
  /home/eserte/.cpan/build/2015122800/Net-DNS-Dynamic-Adfilter-0.075-WPnyxz/blib/arch
  /home/eserte/.cpan/build/2015122800/Net-DNS-Dynamic-Adfilter-0.075-WPnyxz/blib/lib
  /home/eserte/.cpan/build/2015122800/Net-DNS-Dynamic-Proxyserver-1.2-Y4L4l9/blib/arch
  /home/eserte/.cpan/build/2015122800/Net-DNS-Dynamic-Proxyserver-1.2-Y4L4l9/blib/lib
  /opt/perl-5.23.6/lib/site_perl/5.23.6/x86_64-linux
  /opt/perl-5.23.6/lib/site_perl/5.23.6
  /opt/perl-5.23.6/lib/5.23.6/x86_64-linux
  /opt/perl-5.23.6/lib/5.23.6
  .

--
andreas

@p5pRT
Copy link
Author

p5pRT commented Dec 29, 2015

From @jkeenan

On Mon Dec 28 02​:53​:06 2015, andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

Kudos once again goes to Slaven for bringing it to my attention.

bisect
------
27e95af is the first bad commit
commit 27e95af
Author​: Karl Williamson <khw@​cpan.org>
Date​: Tue Dec 15 22​:20​:20 2015 -0700

regcomp.c​: Try simplifications in some qr/[...]/d

sample fail report
------------------
http​://www.cpantesters.org/cpan/report/8d109992-ad47-11e5-9f21-
26bde0bfc7aa

matrix
------
http​://matrix.cpantesters.org/?dist=Test-MemoryGrowth

Problem confirmed on Linux x86_64​:

##########
[Test-MemoryGrowth-0.02] 20 $ ~/gitwork/perl/perl -I/home/jkeenan/gitwork/perl/lib/ Makefile.PL
... Detected uninstalled Perl. Trying to continue.
Have /home/jkeenan/gitwork/perl/lib
Want /usr/local/lib/perl5/5.23.7/x86_64-linux
Generating a Unix-style Makefile
Writing Makefile for Test​::MemoryGrowth
Writing MYMETA.yml and MYMETA.json
[Test-MemoryGrowth-0.02] 21 $ make
Skip blib/lib/Test/MemoryGrowth.pm (unchanged)
Manifying 1 pod document
[Test-MemoryGrowth-0.02] 22 $ make test
PERL_DL_NONLAZY=1 "/home/jkeenan/gitwork/perl/perl" "-I/home/jkeenan/gitwork/perl/lib/" "-I/home/jkeenan/gitwork/perl/lib/" "-MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef *Test​::Harness​::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00use.t ..... ok
t/01leak.t .... 1/2
# Failed test 'no_growth push fails'
# at t/01leak.t line 23.
# STDOUT is​:
# ok 1 - push does not grow
#
# not​:
# not ok 1 - push does not grow
#
# as expected
# STDERR is​:
#
# not​:
# /#\s+Failed\ test.*?\n?.*?at\ t\/01leak\.t line 22.*\n?/
# (?^​:^# Lost \d+ bytes of memory over \d+ calls, average of \d+\.\d\d per call\n)
# as expected
t/01leak.t .... Failed 1/2 subtests
t/02counts.t .. ok
t/99pod.t ..... skipped​: Test​::Pod 1.00 required for testing POD

Test Summary Report


t/01leak.t (Wstat​: 0 Tests​: 2 Failed​: 1)
  Failed test​: 2
Files=4, Tests=7, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.06 cusr 0.01 csys = 0.10 CPU)
Result​: FAIL
Failed 1/4 test programs. 1/7 subtests failed.
make​: *** [test_dynamic] Error 255

This is perl 5, version 23, subversion 7 (v5.23.7 (v5.23.6-31-g7c69ad4)) built for x86_64-linux
##########

It should be noted that Test-MemoryGrowth is, by the author's own statement (http​://search.cpan.org/~pevans/Test-MemoryGrowth-0.02/lib/Test/MemoryGrowth.pm), currently a Linux-specific library. It does not pass tests on other platforms.

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Dec 29, 2015

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

@p5pRT
Copy link
Author

p5pRT commented Jan 4, 2016

From @tonycoz

On Mon Dec 28 02​:53​:06 2015, andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

http​://www.cpantesters.org/cpan/report/8d109992-ad47-11e5-9f21-
26bde0bfc7aa

I tried looking into this but couldn't see the cause.

It does behave differently without make test, eg. with make test​:

$ make test TEST_FILES=t/01leak.t TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/home/tony/perl/blead/bin/perl5.23.7" "-MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef *Test​::Harness​::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/01leak.t
t/01leak.t ..
1..2
ok 1 - no_growth addition succeeds
not ok 2 - no_growth push fails

# Failed test 'no_growth push fails'
# at t/01leak.t line 25.
# STDOUT is​:
# ok 1 - push does not grow
#
# not​:
# not ok 1 - push does not grow
#
# as expected
# STDERR is​:
#
# not​:
# /#\s+Failed\ test.*?\n?.*?at\ t\/01leak\.t line 23.*\n?/
# (?^​:^# Lost \d+ bytes of memory over \d+ calls, average of \d+\.\d\d per call\n)
# as expected
Failed 1/2 subtests

but when run directly​:

$ PERL_DL_NONLAZY=1 ~/perl/blead/bin/perl5.23.7 -Mblib -w t/01leak.t
1..2
ok 1 - no_growth addition succeeds
ok 2 - no_growth push fails

The array *is* being extended in the failing case, and get_memusage() does appear to be working correctly - bracketing the call to no_growth() with​:

  system "grep VmSize /proc/$$/status";

revealed no change in VmSize (which is what get_memusage() checks) under make test.

I suspect qr// processing is now allocating a fairly large chunk of memory and releasing it, if I initialize @​arr like​:

  my $x = "a";
  my @​arr = ($x) x 20000;

to consume some memory at runtime the tests pass under make test.

Tony

@p5pRT
Copy link
Author

p5pRT commented Jan 26, 2016

From @khwilliamson

On 01/03/2016 07​:26 PM, Tony Cook via RT wrote​:

On Mon Dec 28 02​:53​:06 2015, andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

http​://www.cpantesters.org/cpan/report/8d109992-ad47-11e5-9f21-
26bde0bfc7aa

I tried looking into this but couldn't see the cause.

It does behave differently without make test, eg. with make test​:

$ make test TEST_FILES=t/01leak.t TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/home/tony/perl/blead/bin/perl5.23.7" "-MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef *Test​::Harness​::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/01leak.t
t/01leak.t ..
1..2
ok 1 - no_growth addition succeeds
not ok 2 - no_growth push fails

# Failed test 'no_growth push fails'
# at t/01leak.t line 25.
# STDOUT is​:
# ok 1 - push does not grow
#
# not​:
# not ok 1 - push does not grow
#
# as expected
# STDERR is​:
#
# not​:
# /#\s+Failed\ test.*?\n?.*?at\ t\/01leak\.t line 23.*\n?/
# (?^​:^# Lost \d+ bytes of memory over \d+ calls, average of \d+\.\d\d per call\n)
# as expected
Failed 1/2 subtests

but when run directly​:

$ PERL_DL_NONLAZY=1 ~/perl/blead/bin/perl5.23.7 -Mblib -w t/01leak.t
1..2
ok 1 - no_growth addition succeeds
ok 2 - no_growth push fails

The array *is* being extended in the failing case, and get_memusage() does appear to be working correctly - bracketing the call to no_growth() with​:

system "grep VmSize /proc/$$/status";

revealed no change in VmSize (which is what get_memusage() checks) under make test.

I suspect qr// processing is now allocating a fairly large chunk of memory and releasing it, if I initialize @​arr like​:

my $x = "a";
my @​arr = ($x) x 20000;

to consume some memory at runtime the tests pass under make test.

Tony

I think this is a bug in the test. The module author has not gotten
around to looking at it.

---
via perlbug​: queue​: perl5 status​: open
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=127054

@p5pRT
Copy link
Author

p5pRT commented Mar 18, 2016

From @rjbs

Paul believes that the error here is very likely with T​::MG and not core. He will have a look into fixing the test, and I'm calling this not a blocker unless we get further evidence that it's something other than a busted test in Paul's library.

--
rjbs

@p5pRT p5pRT closed this as completed Mar 18, 2016
@p5pRT
Copy link
Author

p5pRT commented Mar 18, 2016

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

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

No branches or pull requests

1 participant