perl5
perl5 copied to clipboard
Sporadic spurious taint errors with bleedperl
From @eserte
This is a bug report for perl from slaven@rezic.de, generated with the help of perlbug 1.40 running under perl 5.19.9.
With perl 5.19.9 sometimes taint errors happen which are usually not reproducible. One of these errors happened in the perl test suite itself:
dist/Locale-Maketext/t/90_utf8 ................................ Insecure dependency in eval while running with -T switch at ../../lib/Locale/Maketext.pm line 754. # Looks like you planned 3 tests but ran 2. # Looks like your test exited with 255 just after 2. FAILED--expected 3 tests, saw 2
A subsequent run of this test did not show the error anymore.
Similar errors happened while testing CPAN modules. My smokers are running on a physical FreeBSD 9.2 and virtual FreeBSD 9.2 and 10.0, and the error may happen on all of these. The errors look like this:
fail.PGObject-Type-DateTime-1.00.001.amd64-freebsd.9.2-release.1393056306.86194.rpt:# Error: Insecure dependency in require while running with -T switch at /usr/perl5.19.9/lib/5.19.9/parent.pm line 20. fail.PGObject-Type-DateTime-1.00.amd64-freebsd.9.2-release.1392949154.95426.rpt:# Error: Insecure dependency in require while running with -T switch at /usr/perl5.19.9/lib/5.19.9/parent.pm line 20. ime.pm line 317. fail.DBIx-Class-RDBOHelpers-0.11.amd64-freebsd.10.0-release.1393874639.87156.rpt:# Insecure dependency in require while running with -T switch at /usr/perl5.19.9/lib/site_perl/5.19.9/Module/Runtime.pm line 317. fail.Dezi-Admin-0.005.amd64-freebsd.10.0-release.1393999037.94662.rpt:# Error: Insecure dependency in require while running with -T switch at /usr/perl5.19.9/lib/5.19.9/parent.pm line 20. fail.Template-Flute-0.0104.amd64-freebsd.9.2-release.1394219187.21536.rpt:# Failure parsing specification: Insecure dependency in eval while running with -T switch at /usr/perl5.19.9/lib/site_perl/5.19.9/Parse/RecDescent.pm line 1208. fail.XML-RSS-1.54.amd64-freebsd.10.0-release.1393790899.8222.rpt:Insecure dependency in require while running with -T switch at /usr/perl5.19.9/lib/site_perl/5.19.9/Module/Runtime.pm line 317.
The corresponding full test reports, together with the matrix.cpantesters.org overview:
http://matrix.cpantesters.org/?dist=PGObject-Type-DateTime%201.00 http://www.cpantesters.org/cpan/report/24649d46-9ac8-11e3-af10-128ee0bfc7aa
http://matrix.cpantesters.org/?dist=PGObject-Type-DateTime%201.00.001 http://www.cpantesters.org/cpan/report/35177e90-9b9c-11e3-9641-3306e1bfc7aa
http://matrix.cpantesters.org/?dist=DBIx-Class-RDBOHelpers%200.11 http://www.cpantesters.org/cpan/report/75570c36-a309-11e3-991b-d7afe0bfc7aa
http://matrix.cpantesters.org/?dist=XML-RSS%201.54 http://www.cpantesters.org/cpan/report/7bec0ab0-a246-11e3-85a3-3d9fe0bfc7aa
It's not only FreeBSD. This problem may happen also on Linux systems:
http://matrix.cpantesters.org/?dist=Template-Flute%200.0105 http://www.cpantesters.org/cpan/report/8a16325c-a6c7-11e3-98ae-a99611bde73e
I cannot remember that this kind of error happened with perl 5.19.8 or earlier.
Regards, Slaven
Flags: category=core severity=high
Site configuration information for perl 5.19.9:
Configured by eserte at Sun Feb 23 12:00:50 CET 2014.
Summary of my perl5 (revision 5 version 19 subversion 9) configuration:
Platform:
osname=freebsd, osvers=9.2-release, archname=amd64-freebsd
uname='freebsd cvrsnica.herceg.de 9.2-release freebsd 9.2-release #0 r255898: thu sep 26 22:50:31 utc 2013 root@bake.isc.freebsd.org:usrobjusrsrcsysgeneric amd64 '
config_args='-D useshrplib=true -Dprefix=/usr/perl5.19.9 -Dusemymalloc=n -D cc=ccache cc -D usedevel=define -Dgccansipedantic -de'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='ccache cc', ccflags ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include',
optimize='-O2 -pipe',
cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.2.1 20070831 patched [FreeBSD]', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='ccache cc', ldflags ='-Wl,-E -fstack-protector -L/usr/local/lib'
libpth=/usr/lib /usr/local/lib /usr/include/gcc/4.2 /usr/lib
libs=-lgdbm -lm -lcrypt -lutil -lc
perllibs=-lm -lcrypt -lutil -lc
libc=, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -Wl,-R/usr/perl5.19.9/lib/5.19.9/amd64-freebsd/CORE'
cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib -fstack-protector'
@INC for perl 5.19.9: /usr/perl5.19.9/lib/site_perl/5.19.9/amd64-freebsd /usr/perl5.19.9/lib/site_perl/5.19.9 /usr/perl5.19.9/lib/5.19.9/amd64-freebsd /usr/perl5.19.9/lib/5.19.9 .
Environment for perl 5.19.9: HOME=/home/e/eserte LANG (unset) LANGUAGE (unset) LC_ALL=de_DE.UTF-8 LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/e/eserte/bin/freebsd9.1:/home/e/eserte/bin/sh:/home/e/eserte/bin:/usr/games:/home/e/eserte/devel PERLDOC=-MPod::Perldoc::ToTextOverstrike PERL_BADLANG (unset) PERL_HTML_DISPLAY_CLASS=HTML::Display::Mozilla SHELL=/usr/local/bin/zsh
From @andk
"slaven@rezic.de (via RT)" <perlbug-followup@perl.org> writes:
It's not only FreeBSD. This problem may happen also on Linux systems:
http​://matrix\.cpantesters\.org/?dist=Template\-Flute%200\.0105 http​://www\.cpantesters\.org/cpan/report/8a16325c\-a6c7\-11e3\-98ae\-a99611bde73e
Confirmed, the report above is from my moker.
I have two more:
IKEGAMI/DateTime-Format-RFC3339-v1.0.5.tar.gz http://www.cpantesters.org/cpan/report/e8c054aa-a3e2-11e3-ac52-7278834e6a80
ABRAXXA/DBIx-Class-UUIDColumns-0.02006.tar.gz http://www.cpantesters.org/cpan/report/bd66636a-9e3a-11e3-a4f4-dc4e834e6a80
All three are not reproducable today.
-- andreas
The RT System itself - Status changed from 'new' to 'open'
From @andk
Valgrind knows something.
When running against uuid.t in DBIx-Class-UUIDColumns-0.02006:
==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x4765DD: S_regatom (regcomp.c:11023) ==16617== by 0x4784F7: S_regbranch (regcomp.c:10355) ==16617== by 0x46E50E: S_reg (regcomp.c:10027) ==16617== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==16617== by 0x4E03D6: Perl_pp_regcomp (pp_ctl.c:122) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== by 0x4355F2: Perl_call_sv (perl.c:2764) ==16617== by 0x4377B1: Perl_call_list (perl.c:4861) ==16617== by 0x41C87D: S_process_special_blocks (op.c:8030) ==16617== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==16617== by 0x4320EC: Perl_utilize (op.c:5402) ==16617== by 0x4634D6: Perl_yyparse (perly.y:398) ==16617== ==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x4765DD: S_regatom (regcomp.c:11023) ==16617== by 0x4784F7: S_regbranch (regcomp.c:10355) ==16617== by 0x46E50E: S_reg (regcomp.c:10027) ==16617== by 0x47607D: S_regatom (regcomp.c:11187) ==16617== by 0x4784F7: S_regbranch (regcomp.c:10355) ==16617== by 0x46E50E: S_reg (regcomp.c:10027) ==16617== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==16617== by 0x430299: Perl_pmruntime (op.c:4910) ==16617== by 0x461B3F: Perl_yyparse (perly.y:1385) ==16617== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==16617== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== ==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x4765DD: S_regatom (regcomp.c:11023) ==16617== by 0x4784F7: S_regbranch (regcomp.c:10355) ==16617== by 0x46E5CF: S_reg (regcomp.c:10076) ==16617== by 0x47607D: S_regatom (regcomp.c:11187) ==16617== by 0x4784F7: S_regbranch (regcomp.c:10355) ==16617== by 0x46E50E: S_reg (regcomp.c:10027) ==16617== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==16617== by 0x430299: Perl_pmruntime (op.c:4910) ==16617== by 0x461B3F: Perl_yyparse (perly.y:1385) ==16617== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==16617== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== ==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x4765DD: S_regatom (regcomp.c:11023) ==16617== by 0x4784F7: S_regbranch (regcomp.c:10355) ==16617== by 0x46E5CF: S_reg (regcomp.c:10076) ==16617== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==16617== by 0x430299: Perl_pmruntime (op.c:4910) ==16617== by 0x461B3F: Perl_yyparse (perly.y:1385) ==16617== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==16617== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== by 0x4355F2: Perl_call_sv (perl.c:2764) ==16617== by 0x4377B1: Perl_call_list (perl.c:4861) ==16617== by 0x41C87D: S_process_special_blocks (op.c:8030) ==16617== ==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==16617== by 0x47F4B8: S_study_chunk.constprop.11 (regcomp.c:4827) ==16617== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==16617== by 0x430299: Perl_pmruntime (op.c:4910) ==16617== by 0x461B3F: Perl_yyparse (perly.y:1385) ==16617== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==16617== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== by 0x4355F2: Perl_call_sv (perl.c:2764) ==16617== by 0x4377B1: Perl_call_list (perl.c:4861) ==16617== by 0x41C87D: S_process_special_blocks (op.c:8030) ==16617== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==16617== ==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x46C8D6: S_ssc_finalize (regcomp.c:1448) ==16617== by 0x482E8E: Perl_re_op_compile (regcomp.c:6907) ==16617== by 0x430299: Perl_pmruntime (op.c:4910) ==16617== by 0x461B3F: Perl_yyparse (perly.y:1385) ==16617== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==16617== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== by 0x4355F2: Perl_call_sv (perl.c:2764) ==16617== by 0x4377B1: Perl_call_list (perl.c:4861) ==16617== by 0x41C87D: S_process_special_blocks (op.c:8030) ==16617== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==16617== by 0x4320EC: Perl_utilize (op.c:5402) ==16617== ==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==16617== by 0x47F4B8: S_study_chunk.constprop.11 (regcomp.c:4827) ==16617== by 0x47D548: S_study_chunk.constprop.11 (regcomp.c:4428) ==16617== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==16617== by 0x430299: Perl_pmruntime (op.c:4910) ==16617== by 0x461B3F: Perl_yyparse (perly.y:1385) ==16617== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==16617== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== by 0x4355F2: Perl_call_sv (perl.c:2764) ==16617== by 0x4377B1: Perl_call_list (perl.c:4861) ==16617== by 0x41C87D: S_process_special_blocks (op.c:8030) ==16617== ==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==16617== by 0x47EB20: S_study_chunk.constprop.11 (regcomp.c:4439) ==16617== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==16617== by 0x430299: Perl_pmruntime (op.c:4910) ==16617== by 0x461B3F: Perl_yyparse (perly.y:1385) ==16617== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==16617== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== by 0x4355F2: Perl_call_sv (perl.c:2764) ==16617== by 0x4377B1: Perl_call_list (perl.c:4861) ==16617== by 0x41C87D: S_process_special_blocks (op.c:8030) ==16617== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==16617== ==16617== Conditional jump or move depends on uninitialised value(s) ==16617== at 0x46B9E7: S_alloc_maybe_populate_EXACT (regcomp.c:11023) ==16617== by 0x472C27: S_regclass (regcomp.c:14229) ==16617== by 0x475F92: S_regatom (regcomp.c:11166) ==16617== by 0x4784F7: S_regbranch (regcomp.c:10355) ==16617== by 0x46E50E: S_reg (regcomp.c:10027) ==16617== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==16617== by 0x430299: Perl_pmruntime (op.c:4910) ==16617== by 0x461B3F: Perl_yyparse (perly.y:1385) ==16617== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==16617== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==16617== by 0x4A7625: Perl_runops_standard (run.c:42) ==16617== by 0x4355F2: Perl_call_sv (perl.c:2764) ==16617==
When running against t/01-helloworld.t in Template-Flute-0.0105:
==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x4765DD: S_regatom (regcomp.c:11023) ==32082== by 0x4784F7: S_regbranch (regcomp.c:10355) ==32082== by 0x46E50E: S_reg (regcomp.c:10027) ==32082== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==32082== by 0x4E03D6: Perl_pp_regcomp (pp_ctl.c:122) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x4355F2: Perl_call_sv (perl.c:2764) ==32082== by 0x4377B1: Perl_call_list (perl.c:4861) ==32082== by 0x41C87D: S_process_special_blocks (op.c:8030) ==32082== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==32082== by 0x4320EC: Perl_utilize (op.c:5402) ==32082== by 0x4634D6: Perl_yyparse (perly.y:398) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x4765DD: S_regatom (regcomp.c:11023) ==32082== by 0x4784F7: S_regbranch (regcomp.c:10355) ==32082== by 0x46E50E: S_reg (regcomp.c:10027) ==32082== by 0x47607D: S_regatom (regcomp.c:11187) ==32082== by 0x4784F7: S_regbranch (regcomp.c:10355) ==32082== by 0x46E50E: S_reg (regcomp.c:10027) ==32082== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x4765DD: S_regatom (regcomp.c:11023) ==32082== by 0x4784F7: S_regbranch (regcomp.c:10355) ==32082== by 0x46E5CF: S_reg (regcomp.c:10076) ==32082== by 0x47607D: S_regatom (regcomp.c:11187) ==32082== by 0x4784F7: S_regbranch (regcomp.c:10355) ==32082== by 0x46E50E: S_reg (regcomp.c:10027) ==32082== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47F4B8: S_study_chunk.constprop.11 (regcomp.c:4827) ==32082== by 0x47D548: S_study_chunk.constprop.11 (regcomp.c:4428) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x4355F2: Perl_call_sv (perl.c:2764) ==32082== by 0x4377B1: Perl_call_list (perl.c:4861) ==32082== by 0x41C87D: S_process_special_blocks (op.c:8030) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47EB20: S_study_chunk.constprop.11 (regcomp.c:4439) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x4355F2: Perl_call_sv (perl.c:2764) ==32082== by 0x4377B1: Perl_call_list (perl.c:4861) ==32082== by 0x41C87D: S_process_special_blocks (op.c:8030) ==32082== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47F4B8: S_study_chunk.constprop.11 (regcomp.c:4827) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x4355F2: Perl_call_sv (perl.c:2764) ==32082== by 0x4377B1: Perl_call_list (perl.c:4861) ==32082== by 0x41C87D: S_process_special_blocks (op.c:8030) ==32082== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46C8D6: S_ssc_finalize (regcomp.c:1448) ==32082== by 0x482E8E: Perl_re_op_compile (regcomp.c:6907) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x4355F2: Perl_call_sv (perl.c:2764) ==32082== by 0x4377B1: Perl_call_list (perl.c:4861) ==32082== by 0x41C87D: S_process_special_blocks (op.c:8030) ==32082== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==32082== by 0x4320EC: Perl_utilize (op.c:5402) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46B9E7: S_alloc_maybe_populate_EXACT (regcomp.c:11023) ==32082== by 0x472C27: S_regclass (regcomp.c:14229) ==32082== by 0x475F92: S_regatom (regcomp.c:11166) ==32082== by 0x4784F7: S_regbranch (regcomp.c:10355) ==32082== by 0x46E50E: S_reg (regcomp.c:10027) ==32082== by 0x47607D: S_regatom (regcomp.c:11187) ==32082== by 0x4784F7: S_regbranch (regcomp.c:10355) ==32082== by 0x46E50E: S_reg (regcomp.c:10027) ==32082== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x4765DD: S_regatom (regcomp.c:11023) ==32082== by 0x4784F7: S_regbranch (regcomp.c:10355) ==32082== by 0x46E5CF: S_reg (regcomp.c:10076) ==32082== by 0x480896: Perl_re_op_compile (regcomp.c:6411) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x4355F2: Perl_call_sv (perl.c:2764) ==32082== by 0x4377B1: Perl_call_list (perl.c:4861) ==32082== by 0x41C87D: S_process_special_blocks (op.c:8030) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47F4B8: S_study_chunk.constprop.11 (regcomp.c:4827) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x482D62: Perl_re_op_compile (regcomp.c:6970) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x4355F2: Perl_call_sv (perl.c:2764) ==32082== by 0x4377B1: Perl_call_list (perl.c:4861) ==32082== by 0x41C87D: S_process_special_blocks (op.c:8030) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47BC9E: S_study_chunk.constprop.11 (regcomp.c:3720) ==32082== by 0x482D62: Perl_re_op_compile (regcomp.c:6970) ==32082== by 0x430299: Perl_pmruntime (op.c:4910) ==32082== by 0x461B3F: Perl_yyparse (perly.y:1385) ==32082== by 0x4DEB51: S_doeval (pp_ctl.c:3475) ==32082== by 0x4EA49B: Perl_pp_require (pp_ctl.c:4131) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x4355F2: Perl_call_sv (perl.c:2764) ==32082== by 0x4377B1: Perl_call_list (perl.c:4861) ==32082== by 0x41C87D: S_process_special_blocks (op.c:8030) ==32082== by 0x42F1D6: Perl_newATTRSUB_x (op.c:7992) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47F4B8: S_study_chunk.constprop.11 (regcomp.c:4827) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x47D548: S_study_chunk.constprop.11 (regcomp.c:4428) ==32082== by 0x47D548: S_study_chunk.constprop.11 (regcomp.c:4428) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x4E03D6: Perl_pp_regcomp (pp_ctl.c:122) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x43C853: perl_run (perl.c:2449) ==32082== by 0x41BD8A: main (perlmain.c:112) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47BC9E: S_study_chunk.constprop.11 (regcomp.c:3720) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x47D548: S_study_chunk.constprop.11 (regcomp.c:4428) ==32082== by 0x47D548: S_study_chunk.constprop.11 (regcomp.c:4428) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x4E03D6: Perl_pp_regcomp (pp_ctl.c:122) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x43C853: perl_run (perl.c:2449) ==32082== by 0x41BD8A: main (perlmain.c:112) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D668: S_ssc_or (regcomp.c:1340) ==32082== by 0x47F4B8: S_study_chunk.constprop.11 (regcomp.c:4827) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x4E03D6: Perl_pp_regcomp (pp_ctl.c:122) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x43C853: perl_run (perl.c:2449) ==32082== by 0x41BD8A: main (perlmain.c:112) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47BC9E: S_study_chunk.constprop.11 (regcomp.c:3720) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x4E03D6: Perl_pp_regcomp (pp_ctl.c:122) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x43C853: perl_run (perl.c:2449) ==32082== by 0x41BD8A: main (perlmain.c:112) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D668: S_ssc_or (regcomp.c:1340) ==32082== by 0x47BC9E: S_study_chunk.constprop.11 (regcomp.c:3720) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x4E03D6: Perl_pp_regcomp (pp_ctl.c:122) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x43C853: perl_run (perl.c:2449) ==32082== by 0x41BD8A: main (perlmain.c:112) ==32082== ==32082== Conditional jump or move depends on uninitialised value(s) ==32082== at 0x46D60F: S_ssc_or (regcomp.c:1337) ==32082== by 0x47BC9E: S_study_chunk.constprop.11 (regcomp.c:3720) ==32082== by 0x47BC11: S_study_chunk.constprop.11 (regcomp.c:3694) ==32082== by 0x482CC2: Perl_re_op_compile (regcomp.c:6824) ==32082== by 0x4E03D6: Perl_pp_regcomp (pp_ctl.c:122) ==32082== by 0x4A7625: Perl_runops_standard (run.c:42) ==32082== by 0x43C853: perl_run (perl.c:2449) ==32082== by 0x41BD8A: main (perlmain.c:112)
When running against t/02_formatting.t of DateTime-Format-RFC3339-v1.0.5:
==3672== Conditional jump or move depends on uninitialised value(s) ==3672== at 0x46F754: S_regatom (regcomp.c:11023) ==3672== by 0x47141F: S_regbranch (regcomp.c:10355) ==3672== by 0x467E99: S_reg (regcomp.c:10027) ==3672== by 0x479179: Perl_re_op_compile (regcomp.c:6411) ==3672== by 0x4CD937: Perl_pp_regcomp (pp_ctl.c:122) ==3672== by 0x49C0F2: Perl_runops_standard (run.c:42) ==3672== by 0x4349CA: Perl_call_sv (perl.c:2764) ==3672== by 0x436761: Perl_call_list (perl.c:4861) ==3672== by 0x41E83B: S_process_special_blocks (op.c:8030) ==3672== by 0x42F05B: Perl_newATTRSUB_x (op.c:7992) ==3672== by 0x431BB3: Perl_utilize (op.c:5402) ==3672== by 0x45E5A9: Perl_yyparse (perly.y:398) ==3672== ==3672== Conditional jump or move depends on uninitialised value(s) ==3672== at 0x46F754: S_regatom (regcomp.c:11023) ==3672== by 0x47141F: S_regbranch (regcomp.c:10355) ==3672== by 0x467F48: S_reg (regcomp.c:10076) ==3672== by 0x479179: Perl_re_op_compile (regcomp.c:6411) ==3672== by 0x430050: Perl_pmruntime (op.c:4910) ==3672== by 0x45CE82: Perl_yyparse (perly.y:1385) ==3672== by 0x4CC213: S_doeval (pp_ctl.c:3475) ==3672== by 0x4D7484: Perl_pp_require (pp_ctl.c:4131) ==3672== by 0x49C0F2: Perl_runops_standard (run.c:42) ==3672== by 0x4349CA: Perl_call_sv (perl.c:2764) ==3672== by 0x436761: Perl_call_list (perl.c:4861) ==3672== by 0x41E83B: S_process_special_blocks (op.c:8030) ==3672== ==3672== Conditional jump or move depends on uninitialised value(s) ==3672== at 0x46F754: S_regatom (regcomp.c:11023) ==3672== by 0x47141F: S_regbranch (regcomp.c:10355) ==3672== by 0x467E99: S_reg (regcomp.c:10027) ==3672== by 0x46F21C: S_regatom (regcomp.c:11187) ==3672== by 0x47141F: S_regbranch (regcomp.c:10355) ==3672== by 0x467E99: S_reg (regcomp.c:10027) ==3672== by 0x479179: Perl_re_op_compile (regcomp.c:6411) ==3672== by 0x430050: Perl_pmruntime (op.c:4910) ==3672== by 0x45CE82: Perl_yyparse (perly.y:1385) ==3672== by 0x4CC213: S_doeval (pp_ctl.c:3475) ==3672== by 0x4D7484: Perl_pp_require (pp_ctl.c:4131) ==3672== by 0x49C0F2: Perl_runops_standard (run.c:42) ==3672== ==3672== Conditional jump or move depends on uninitialised value(s) ==3672== at 0x46F754: S_regatom (regcomp.c:11023) ==3672== by 0x47141F: S_regbranch (regcomp.c:10355) ==3672== by 0x467F48: S_reg (regcomp.c:10076) ==3672== by 0x46F21C: S_regatom (regcomp.c:11187) ==3672== by 0x47141F: S_regbranch (regcomp.c:10355) ==3672== by 0x467E99: S_reg (regcomp.c:10027) ==3672== by 0x479179: Perl_re_op_compile (regcomp.c:6411) ==3672== by 0x430050: Perl_pmruntime (op.c:4910) ==3672== by 0x45CE82: Perl_yyparse (perly.y:1385) ==3672== by 0x4CC213: S_doeval (pp_ctl.c:3475) ==3672== by 0x4D7484: Perl_pp_require (pp_ctl.c:4131) ==3672== by 0x49C0F2: Perl_runops_standard (run.c:42) ==3672==
-- andreas
From @andk
Andreas Koenig <andreas.koenig.7os6VVqR@franz.ak.mind.de> writes:
Valgrind knows something.
uuid.t in DBIx-Class-UUIDColumns-0.02006:
But testing with current bleadperl v5.19.9-123-gd6f4d13 these messages are gone. And no memory leak is reported.
t/01-helloworld.t in Template-Flute-0.0105:
Template::Flute got a new upload today which fails its tests, so I did not test with valgrind. Testing 0.0105 with current bleadperl does not have the issues valgrind reported for 5.19.9 anymore. But a memory leak is reported:
==24616== LEAK SUMMARY: ==24616== definitely lost: 133,247 bytes in 18,495 blocks ==24616== indirectly lost: 0 bytes in 0 blocks ==24616== possibly lost: 15,216,974 bytes in 7,586 blocks ==24616== still reachable: 7,849,024 bytes in 47,200 blocks ==24616== suppressed: 0 bytes in 0 blocks
t/02_formatting.t of DateTime-Format-RFC3339-v1.0.5
Gone are the cited messages with bleadperl, but a memory leak is reported:
==23433== LEAK SUMMARY: ==23433== definitely lost: 11,788 bytes in 880 blocks ==23433== indirectly lost: 0 bytes in 0 blocks ==23433== possibly lost: 5,295,710 bytes in 3,179 blocks ==23433== still reachable: 4,313,336 bytes in 32,896 blocks ==23433== suppressed: 0 bytes in 0 blocks
Note, that my /lib/x86_64-linux-gnu/ld-2.17.so is indicated by valgrind, so it may be that the remaining leaks stem from there.
-- andreas
From @khwilliamson
On 03/09/2014 09:10 AM, Andreas Koenig wrote:
Andreas Koenig <andreas.koenig.7os6VVqR@franz.ak.mind.de> writes:
Valgrind knows something.
uuid.t in DBIx-Class-UUIDColumns-0.02006:
But testing with current bleadperl v5.19.9-123-gd6f4d13 these messages are gone. And no memory leak is reported.
t/01-helloworld.t in Template-Flute-0.0105:
Template::Flute got a new upload today which fails its tests, so I did not test with valgrind. Testing 0.0105 with current bleadperl does not have the issues valgrind reported for 5.19.9 anymore. But a memory leak is reported:
==24616== LEAK SUMMARY: ==24616== definitely lost: 133,247 bytes in 18,495 blocks ==24616== indirectly lost: 0 bytes in 0 blocks ==24616== possibly lost: 15,216,974 bytes in 7,586 blocks ==24616== still reachable: 7,849,024 bytes in 47,200 blocks ==24616== suppressed: 0 bytes in 0 blocks
t/02_formatting.t of DateTime-Format-RFC3339-v1.0.5
Gone are the cited messages with bleadperl, but a memory leak is reported:
==23433== LEAK SUMMARY: ==23433== definitely lost: 11,788 bytes in 880 blocks ==23433== indirectly lost: 0 bytes in 0 blocks ==23433== possibly lost: 5,295,710 bytes in 3,179 blocks ==23433== still reachable: 4,313,336 bytes in 32,896 blocks ==23433== suppressed: 0 bytes in 0 blocks
Note, that my /lib/x86_64-linux-gnu/ld-2.17.so is indicated by valgrind, so it may be that the remaining leaks stem from there.
Be sure you read perlhacktips about valgrind and memory leaks, if you haven't. In particular,
NOTE 2: To minimize the number of memory leak false alarms (see "PERL_DESTRUCT_LEVEL" for more information), you have to set the environment variable PERL_DESTRUCT_LEVEL to 2. For example, like this:
* env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib ...
From @eserte
"karl williamson via RT" <perlbug-followup@perl.org> writes:
[...]
Be sure you read perlhacktips about valgrind and memory leaks, if you haven't. In particular,
NOTE 2​: To minimize the number of memory leak false alarms \(see "PERL\_DESTRUCT\_LEVEL" for more information\)\, you have to set the environment variable PERL\_DESTRUCT\_LEVEL to 2\. For example\,
like this:
* env PERL_DESTRUCT_LEVEL=2 valgrind ./perl -Ilib ...
Here's my valgrind output on Olson-Abbreviations-0.04 (perl5.19.9 on FreeBSD 10.0). S_regatom also appeared in Andreas' valgrind outputs:
$ env PERL_DESTRUCT_LEVEL=2 valgrind --track-origins=yes perl5.19.9 -Mblib -T t/00-load.t ==38900== Memcheck, a memory error detector ==38900== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==38900== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==38900== Command: perl5.19.9 -Mblib -T t/00-load.t ==38900== ==38900== Conditional jump or move depends on uninitialised value(s) ==38900== at 0x47EC7D: S_alloc_maybe_populate_EXACT (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x480E37: S_regatom (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x477C07: S_regbranch (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x46E0CA: S_reg (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x46AFBF: Perl_re_op_compile (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x4CF6CF: Perl_pp_regcomp (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x4A34D2: Perl_runops_standard (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x43BED1: Perl_call_sv (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x439362: Perl_call_list (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x42EF5C: S_process_special_blocks (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x42985C: Perl_newATTRSUB_x (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x429EB9: Perl_utilize (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== Uninitialised value was created by a stack allocation ==38900== at 0x46A29D: Perl_re_op_compile (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== ==38900== Conditional jump or move depends on uninitialised value(s) ==38900== at 0x47EC7D: S_alloc_maybe_populate_EXACT (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x480E37: S_regatom (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x477C07: S_regbranch (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x46E35A: S_reg (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x47F0AB: S_regatom (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x477C07: S_regbranch (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x46E0CA: S_reg (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x46AFBF: Perl_re_op_compile (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x426154: Perl_pmruntime (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x46689D: Perl_yyparse (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x4DA7D8: S_doeval (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== by 0x4D95CC: Perl_pp_require (in /usr/perl5.19.9/bin/perl5.19.9) ==38900== Uninitialised value was created by a stack allocation ==38900== at 0x46A29D: Perl_re_op_compile (in /usr/perl5.19.9/bin/perl5.19.9) ==38900==
-- Slaven Rezic - slaven <at> rezic <dot> de BBBike - route planner for cyclists in Berlin WWW version: http://www.bbbike.de Perl/Tk version for Unix and Windows: http://bbbike.sourceforge.net
From @tonycoz
On Sun, Mar 09, 2014 at 03:20:20AM -0700, slaven@rezic.de (via RT) wrote:
With perl 5.19.9 sometimes taint errors happen which are usually not reproducible. One of these errors happened in the perl test suite itself:
dist/Locale\-Maketext/t/90\_utf8 \.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. Insecure dependency in eval while running with \-T switch at \.\./\.\./lib/Locale/Maketext\.pm line 754\. \# Looks like you planned 3 tests but ran 2\. \# Looks like your test exited with 255 just after 2\. FAILED\-\-expected 3 tests\, saw 2
A subsequent run of this test did not show the error anymore.
Similar errors happened while testing CPAN modules. My smokers are running on a physical FreeBSD 9.2 and virtual FreeBSD 9.2 and 10.0, and the error may happen on all of these. The errors look like this:
This may have been fixed in ed885487570a4a0046b0cb32a477526f8f016d93.
Tony
From @khwilliamson
On 03/09/2014 04:16 PM, Tony Cook wrote:
On Sun, Mar 09, 2014 at 03:20:20AM -0700, slaven@rezic.de (via RT) wrote:
With perl 5.19.9 sometimes taint errors happen which are usually not reproducible. One of these errors happened in the perl test suite itself:
dist/Locale\-Maketext/t/90\_utf8 \.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. Insecure dependency in eval while running with \-T switch at \.\./\.\./lib/Locale/Maketext\.pm line 754\. \# Looks like you planned 3 tests but ran 2\. \# Looks like your test exited with 255 just after 2\. FAILED\-\-expected 3 tests\, saw 2
A subsequent run of this test did not show the error anymore.
Similar errors happened while testing CPAN modules. My smokers are running on a physical FreeBSD 9.2 and virtual FreeBSD 9.2 and 10.0, and the error may happen on all of these. The errors look like this:
This may have been fixed in ed885487570a4a0046b0cb32a477526f8f016d93.
Tony
So in order for us to really consider this a problem, we need to see it on blead, and for the leaks to still be there if valgrind is run under PERL_DESTRUCT_LEVEL=2
From @andk
Karl Williamson <public@khwilliamson.com> writes:
This may have been fixed in ed885487570a4a0046b0cb32a477526f8f016d93.
Tony
So in order for us to really consider this a problem, we need to see it on blead, and for the leaks to still be there if valgrind is run under PERL_DESTRUCT_LEVEL=2
Thanks for the pointer, Karl!
PERL_DESTRUCT_LEVEL=2 does not help on IKEGAMI/DateTime-Format-RFC3339-v1.0.5.tar.gz, there is a remaining memory leak:
==27242== LEAK SUMMARY: ==27242== definitely lost: 11,788 bytes in 880 blocks ==27242== indirectly lost: 0 bytes in 0 blocks ==27242== possibly lost: 5,295,710 bytes in 3,179 blocks ==27242== still reachable: 4,313,097 bytes in 32,901 blocks ==27242== suppressed: 0 bytes in 0 blocks
The same memory leak was already in 5.18.2. It was smaller in 5.16.3 (definitely lost: 9,755 bytes in 295 blocks). And it was not there in 5.14.4. S_doeval is involved in all reported allocations, in many stacks more than once.
Whereas on HORNBURG/Template-Flute-0.0105.tar.gz the memory leak goes away with PERL_DESTRUCT_LEVEL=2.
-- andreas
From @khwilliamson
I'm changing the name of this ticket, as the bug it originally identified no longer is a problem, but there are still leask -- Karl Williamson