Mailing List Archive

[RELEASE CANDIDATE] mod_perl-2.0.11 RC2
Please download, test, and report back on this mod_perl 2.0.11 release
candidate.

https://dist.apache.org/repos/dist/dev/perl/mod_perl-2.0.11-rc2.tar.gz

MD5 = abc2c2168121a09b0fc3b6fc6adc00bd
SHA1 = 36ee7626506a3a461118b3957814dfe9331ef1de

Changes since RC1 are as follows:

Fix [CVE-2011-2767] Arbitrary Perl code execution in the context of the user
account via a user-owned .htaccess. Patch from bugs.debian.org #644169. [Jan
Ingvoldstad <jani+debian-2011+@ifi.uio.no>]

Fix potential test suite hangs due to pipelined response deadlocks. Patch
from rt.cpan.org #82409. [Zefram <zefram@fysh.org>]

Fix t/compat/request.t failures [Steve Hay]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
(Cc-ing Debian Perl group in case I missed something obvious)

-=| Steve Hay, 24.09.2019 17:53:14 +0100 |=-
> Please download, test, and report back on this mod_perl 2.0.11 release
> candidate.
>
> https://dist.apache.org/repos/dist/dev/perl/mod_perl-2.0.11-rc2.tar.gz

One test fails on Debian unstable/amd64.

-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:


# testing : mtime
# expected: 1569347574
# received: '1569347574'
ok 43
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator at
dam@localhost to inform them of the time this error occurred,
and the actions you performed just before this error.</p>
<p>More information about this error may be available
in the server error log.</p>
<hr>
<address>Apache/2.4.41 (Debian) world domination series/2.0 mod_apreq2-20090110/2.8.0 mod_perl/2.0.11-rc2 Perl/v5.28.1 Server at localhost Port 8529</address>
</body></html>
Failed 12/55 subtests

Test Summary Report
-------------------
t/api/request_rec.t (Wstat: 0 Tests: 43 Failed: 0)
Parse errors: Bad plan. You planned 55 tests but ran 43.
Files=1, Tests=43, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.46 cusr 0.13 csys = 0.61 CPU)
Result: FAIL

error_log:
(full log for request_rec.t attached)

[Tue Sep 24 21:55:53.589476 2019] [perl:error] [pid 1184:tid 140271230908160] [client 127.0.0.1:40218] APR::Finfo::stat: (70008) Partial results are valid but processing is incomplete at /home/dam/w/pkg-perl/packages/libapache2-mod-perl2/t/response/TestAPI/request_rec.pm line 168

Note that in Debian apache, apreq and mod_perl have plenty of patches
applied. That wasn't a problem by itself before, but I'd rather
mention it here to avoid surprises.

This report is about the RC2 tarball with all the patches at
https://salsa.debian.org/perl-team/modules/packages/libapache2-mod-perl2/tree/master/debian/patches
minus
260_fix_pipelined_response_deadlock.patch,
370_http_syntax.patch,
380_inject_header_line_terminators.patch, and
CVE-2011-2767.patch
that were included in this RC2 release (thanks!)

2. Used Components and their Configuration:

*** mod_perl version 2.000011

*** using /home/dam/w/pkg-perl/packages/libapache2-mod-perl2/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
MP_APR_CONFIG => /usr/bin/apr-config
MP_APR_LIB => aprext
MP_APXS => /usr/bin/apxs
MP_CCOPTS => -g -O2 -fdebug-prefix-map=/home/dam/w/pkg-perl/packages/libapache2-mod-perl2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -fgnu89-inline
MP_COMPAT_1X => 1
MP_GENERATE_XS => 1
MP_LIBNAME => mod_perl
MP_TRACE => 0
MP_USE_DSO => 1
MP_USE_STATIC => 0


*** /usr/sbin/apache2 -V
Server version: Apache/2.4.41 (Debian)
Server built: 2019-08-14T04:42:29
Server's Module Magic Number: 20120211:88
Server loaded: APR 1.6.5, APR-UTIL 1.6.1
Compiled using: APR 1.6.5, APR-UTIL 1.6.1
Architecture: 64-bit
Server MPM:
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"

*** /usr/bin/ldd /usr/sbin/apache2
linux-vdso.so.1 (0x00007ffc791c9000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f145fe89000)
libaprutil-1.so.0 => /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0 (0x00007f145fe5b000)
libapr-1.so.0 => /usr/lib/x86_64-linux-gnu/libapr-1.so.0 (0x00007f145fe22000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f145fe01000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f145fc41000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f145fc38000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f145fc2b000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f145fbf2000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f145fbed000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f145fbc0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f145ffcc000)


*** (apr|apu)-config linking info

-L/usr/lib/x86_64-linux-gnu -laprutil-1
-L/usr/lib/x86_64-linux-gnu -lapr-1



*** /usr/bin/perl -V
Summary of my perl5 (revision 5 version 28 subversion 1) configuration:

Platform:
osname=linux
osvers=4.9.0
archname=x86_64-linux-gnu-thread-multi
uname='linux localhost 4.9.0 #1 smp debian 4.9.0 x86_64 gnulinux '
config_args='-Dusethreads -Duselargefiles -Dcc=x86_64-linux-gnu-gcc -Dcpp=x86_64-linux-gnu-cpp -Dld=x86_64-linux-gnu-gcc -Dccflags=-DDEBIAN -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fdebug-prefix-map=/build/perl-5WfRyb/perl-5.28.1=. -fstack-protector-strong -Wformat -Werror=format-security -Dldflags= -Wl,-z,relro -Dlddlflags=-shared -Wl,-z,relro -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.28 -Darchlib=/usr/lib/x86_64-linux-gnu/perl/5.28 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/x86_64-linux-gnu/perl5/5.28 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.28.1 -Dsitearch=/usr/local/lib/x86_64-linux-gnu/perl/5.28.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -Ui_xlocale -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -dEs -Duseshrplib -Dlibperl=libperl.so.5.28.1'
hint=recommended
useposix=true
d_sigaction=define
useithreads=define
usemultiplicity=define
use64bitint=define
use64bitall=define
uselongdouble=undef
usemymalloc=n
default_inc_excludes_dot=define
bincompat5005=undef
Compiler:
cc='x86_64-linux-gnu-gcc'
ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
optimize='-O2 -g'
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include'
ccversion=''
gccversion='8.3.0'
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='x86_64-linux-gnu-gcc'
ldflags =' -fstack-protector-strong -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/8/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=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=libc-2.28.so
so=so
useshrplib=true
libperl=libperl.so.5.28
gnulibc_version='2.28'
Dynamic Linking:
dlsrc=dl_dlopen.xs
dlext=so
d_dlsymun=undef
ccdlflags='-Wl,-E'
cccdlflags='-fPIC'
lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl):
Compile-time options:
HAS_TIMES
MULTIPLICITY
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP
PERL_OP_PARENT
PERL_PRESERVE_IVUV
USE_64_BIT_ALL
USE_64_BIT_INT
USE_ITHREADS
USE_LARGE_FILES
USE_LOCALE
USE_LOCALE_COLLATE
USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC
USE_LOCALE_TIME
USE_PERLIO
USE_PERL_ATOF
USE_REENTRANT_API
Locally applied patches:
DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
DEBPKG:debian/db_file_ver - https://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
DEBPKG:debian/enc2xs_inc - https://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.
DEBPKG:debian/errno_ver - https://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
DEBPKG:debian/libperl_embed_doc - https://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking
DEBPKG:fixes/respect_umask - Respect umask during installation
DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories
DEBPKG:debian/extutils_set_libperl_path - EU:MM: set location of libperl.a under /usr/lib
DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor
DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
DEBPKG:debian/perlivp - https://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
DEBPKG:debian/squelch-locale-warnings - https://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
DEBPKG:debian/patchlevel - https://bugs.debian.org/567489 List packaged patches for 5.28.1-6 in patchlevel.h
DEBPKG:fixes/document_makemaker_ccflags - https://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
DEBPKG:debian/find_html2text - https://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text
DEBPKG:debian/perl5db-x-terminal-emulator.patch - https://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl
DEBPKG:debian/cpan-missing-site-dirs - https://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] https://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' option not respected
DEBPKG:debian/makemaker-pasthru - https://bugs.debian.org/758471 Pass LD settings through to subdirectories
DEBPKG:debian/makemaker-manext - https://bugs.debian.org/247370 Make EU::MakeMaker honour MANnEXT settings in generated manpage headers
DEBPKG:debian/kfreebsd-softupdates - https://bugs.debian.org/796798 Work around Debian Bug#796798
DEBPKG:fixes/autodie-scope - https://bugs.debian.org/798096 Fix a scoping issue with "no autodie" and the "system" sub
DEBPKG:fixes/memoize-pod - [rt.cpan.org #89441] Fix POD errors in Memoize
DEBPKG:debian/hurd-softupdates - https://bugs.debian.org/822735 Fix t/op/stat.t failures on hurd
DEBPKG:fixes/math_complex_doc_great_circle - https://bugs.debian.org/697567 [rt.cpan.org #114104] Math::Trig: clarify definition of great_circle_midpoint
DEBPKG:fixes/math_complex_doc_see_also - https://bugs.debian.org/697568 [rt.cpan.org #114105] Math::Trig: add missing SEE ALSO
DEBPKG:fixes/math_complex_doc_angle_units - https://bugs.debian.org/731505 [rt.cpan.org #114106] Math::Trig: document angle units
DEBPKG:fixes/cpan_web_link - https://bugs.debian.org/367291 CPAN: Add link to main CPAN web site
DEBPKG:debian/hppa_op_optimize_workaround - https://bugs.debian.org/838613 Temporarily lower the optimization of op.c on hppa due to gcc-6 problems
DEBPKG:debian/installman-utf8 - https://bugs.debian.org/840211 Generate man pages with UTF-8 characters
DEBPKG:fixes/getopt-long-4 - https://bugs.debian.org/864544 [rt.cpan.org #122068] Fix issue #122068.
DEBPKG:debian/hppa_opmini_optimize_workaround - https://bugs.debian.org/869122 Lower the optimization level of opmini.c on hppa
DEBPKG:debian/sh4_op_optimize_workaround - https://bugs.debian.org/869373 Also lower the optimization level of op.c and opmini.c on sh4
DEBPKG:debian/perldoc-pager - https://bugs.debian.org/870340 [rt.cpan.org #120229] Fix perldoc terminal escapes when sensible-pager is less
DEBPKG:debian/prune_libs - https://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
DEBPKG:debian/configure-regen - https://bugs.debian.org/762638 Regenerate Configure et al. after probe unit changes
DEBPKG:debian/deprecate-with-apt - https://bugs.debian.org/747628 Point users to Debian packages of deprecated core modules
DEBPKG:debian/disable-stack-check - https://bugs.debian.org/902779 [perl #133327] Disable debugperl stack extension checks for binary compatibility with perl
DEBPKG:debian/gdbm-fatal - [perl #133295] https://bugs.debian.org/904005 Temporarily skip GDBM_File fatal.t for gdbm >= 1.15 compatibility
DEBPKG:fixes/storable-recursion - https://bugs.debian.org/912900 [perl #133326] [120060c] (perl #133326) fix and clarify handling of recurs_sv.
DEBPKG:fixes/caretx-fallback - https://bugs.debian.org/913347 [perl #133573] [03b94aa] RT#133573: $^X fallback when platform-specific technique fails
DEBPKG:fixes/eumm-usrmerge - https://bugs.debian.org/913637 Avoid mangling /bin non-perl shebangs on merged-/usr systems
DEBPKG:fixes/errno-include-path - [6c5080f] [perl #133662] https://bugs.debian.org/875921 Make Errno_pm.PL compatible with /usr/include/<ARCH>/errno.h
DEBPKG:fixes/kfreebsd-renameat - [a3c63a9] https://bugs.debian.org/912521 [perl #133668] Also work around renameat() kernel bug on GNU/kFreeBSD
DEBPKG:fixes/time-local-2020 - https://bugs.debian.org/915209 [rt.cpan.org #124787] Fix Time::Local tests
DEBPKG:fixes/inplace-editing-bugfix/part1 - https://bugs.debian.org/914651 (perl #133659) move argvout cleanup to a new function
DEBPKG:fixes/inplace-editing-bugfix/part2 - https://bugs.debian.org/914651 (perl #133659) tests for global destruction handling of inplace editing
DEBPKG:fixes/inplace-editing-bugfix/part3 - https://bugs.debian.org/914651 (perl #133659) make an in-place edit successful if the exit status is zero
DEBPKG:fixes/fix-manifest-failures - https://bugs.debian.org/914962 Fix t/porting/manifest.t failures when run in a foreign git checkout
DEBPKG:fixes/pipe-open-bugfix/part1 - [perl #133726] https://bugs.debian.org/916313 Always mark pipe in pipe-open as inherit-on-exec
DEBPKG:fixes/pipe-open-bugfix/part2 - [perl #133726] https://bugs.debian.org/916313 Always mark pipe in list pipe-open as inherit-on-exec
DEBPKG:fixes/storable-probing/prereq1 - [3f4cad1] Storable: fix for strawberry build failures:
DEBPKG:fixes/storable-probing/prereq2 - [perl #133411] [edf639f] (perl #133411) don't try to load Storable with -Dusecrosscompile
DEBPKG:fixes/storable-probing/disable-probing - https://bugs.debian.org/914133 [perl #133708] [2a0bbd3] (perl #133708) remove build-time probing for stack limits for Storable
DEBPKG:debian/perlbug-editor - https://bugs.debian.org/922609 Use "editor" as the default perlbug editor, as per Debian policy
DEBPKG:fixes/posix-mbrlen - [25d7b7a] https://bugs.debian.org/924517 [perl #133928] Fix POSIX::mblen mbstate_t initialization on threaded perls with glibc
Built under linux
Compiled at Mar 31 2019 11:51:22
%ENV:
PERL_LWP_USE_HTTP_10="1"
@INC:
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.28.1
/usr/local/share/perl/5.28.1
/usr/lib/x86_64-linux-gnu/perl5/5.28
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.28
/usr/share/perl/5.28
/usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base

*** Packages of interest status:

Apache2 : 2.4.41
Apache2::Request : 2.13
CGI : 4.44
ExtUtils::MakeMaker: 7.34
LWP : 6.39
mod_perl : -
mod_perl2 : 2.000010


3. This is the core dump trace: (if you get a core dump):

[CORE TRACE COMES HERE]

This report was generated by t/REPORT on Tue Sep 24 19:03:05 2019 GMT.

-------------8<---------- End Bug Report --------------8<----------
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
Still seeing the t/api/request_rec.t failures, which do not occur with
the same machine and same settings with 2.0.10. It's failing after the
mtime test, before the finfo test.

Test Summary Report
-------------------
t/api/request_rec.t (Wstat: 0 Tests: 43 Failed: 0)
Parse errors: Bad plan. You planned 55 tests but ran 43.
t/filter/in_bbs_inject_header.t (Wstat: 0 Tests: 36 Failed: 3)
Failed tests: 22, 26, 30
Files=245, Tests=3402, 98 wallclock secs ( 0.71 usr 0.30 sys + 67.05
cusr 12.05 csys = 80.11 CPU)
Result: FAIL
Failed 2/245 test programs. 3/3402 subtests failed.


This is what i see in the error_log:

[Tue Sep 24 22:56:10.012601 2019] [perl:error] [pid 743] [client
127.0.0.1:57720] APR::Finfo::stat: (70008) Partial results are valid but
processing is incomplete at
/tmp/mod_perl-2.0.11-rc2/t/response/TestAPI/request_rec.pm line 168

Not sure if this is a concern or not, but it seems like it should be?

Adam


On 9/24/19 12:53 PM, Steve Hay wrote:
> Please download, test, and report back on this mod_perl 2.0.11 release
> candidate.
>
> https://dist.apache.org/repos/dist/dev/perl/mod_perl-2.0.11-rc2.tar.gz
>
> MD5 = abc2c2168121a09b0fc3b6fc6adc00bd
> SHA1 = 36ee7626506a3a461118b3957814dfe9331ef1de
>
> Changes since RC1 are as follows:
>
> Fix [CVE-2011-2767] Arbitrary Perl code execution in the context of the user
> account via a user-owned .htaccess. Patch from bugs.debian.org #644169. [Jan
> Ingvoldstad <jani+debian-2011+@ifi.uio.no>]
>
> Fix potential test suite hangs due to pipelined response deadlocks. Patch
> from rt.cpan.org #82409. [Zefram <zefram@fysh.org>]
>
> Fix t/compat/request.t failures [Steve Hay]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
On Wed, 25 Sep 2019 at 03:59, Adam Prime <adam.prime@utoronto.ca> wrote:
>
> Still seeing the t/api/request_rec.t failures, which do not occur with
> the same machine and same settings with 2.0.10. It's failing after the
> mtime test, before the finfo test.
>
> Test Summary Report
> -------------------
> t/api/request_rec.t (Wstat: 0 Tests: 43 Failed: 0)
> Parse errors: Bad plan. You planned 55 tests but ran 43.
> t/filter/in_bbs_inject_header.t (Wstat: 0 Tests: 36 Failed: 3)
> Failed tests: 22, 26, 30
> Files=245, Tests=3402, 98 wallclock secs ( 0.71 usr 0.30 sys + 67.05
> cusr 12.05 csys = 80.11 CPU)
> Result: FAIL
> Failed 2/245 test programs. 3/3402 subtests failed.
>
>
> This is what i see in the error_log:
>
> [Tue Sep 24 22:56:10.012601 2019] [perl:error] [pid 743] [client
> 127.0.0.1:57720] APR::Finfo::stat: (70008) Partial results are valid but
> processing is incomplete at
> /tmp/mod_perl-2.0.11-rc2/t/response/TestAPI/request_rec.pm line 168
>
> Not sure if this is a concern or not, but it seems like it should be?
>

Yes, it's definitely a concern! We have two reports of exactly the
same failure now - this and the one from Damyan Ivanov.

This is exactly the kind of problem that I was getting with libapr's
apr_stat() function (see
https://bz.apache.org/bugzilla/show_bug.cgi?id=51560), which I fixed
for Windows in rev. 1865449. As noted before I do see various test
failures on Windows, but none relating to apr_stat() now, and I don't
get any api/request_rec.t failure at all.

This seems to imply either that other OSes are getting similar
problems that need working around similarly to Windows, or else that
the Windows fixes I've applied have broken other OSes. In this case
I'm wondering if it might the latter:-

The rev. cited above changed exactly the line that the failure is
reported on - line 168 in t/response/TestAPI/request_rec.pm... I
changed FINFO_NORM to FINFO_NAME since it's only fname that we access
so we shouldn't need all the other fields. (Windows has a problem
getting all the fields (specifically, it often fails on the
APR_FINFO_GPROT and APR_FINFO_WPROT bits) so that change dodged the
problem for me.)

What happens if you revert the change in that file? I.e. Change
FINFO_NAME back to FINFO_NORM on line 168, and on line 18 (the
APR::Const -compile line)? Does that fix it for you?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
On Wed, 25 Sep 2019 at 03:59, Adam Prime <adam.prime@utoronto.ca> wrote:
>
> Still seeing the t/api/request_rec.t failures, which do not occur with
> the same machine and same settings with 2.0.10. It's failing after the
> mtime test, before the finfo test.
>
> Test Summary Report
> -------------------
> t/api/request_rec.t (Wstat: 0 Tests: 43 Failed: 0)
> Parse errors: Bad plan. You planned 55 tests but ran 43.
> t/filter/in_bbs_inject_header.t (Wstat: 0 Tests: 36 Failed: 3)
> Failed tests: 22, 26, 30
> Files=245, Tests=3402, 98 wallclock secs ( 0.71 usr 0.30 sys + 67.05
> cusr 12.05 csys = 80.11 CPU)
> Result: FAIL
> Failed 2/245 test programs. 3/3402 subtests failed.
>
>

(Btw, the filter/in_bbs_inject_header.t failures are an existing
problem - see https://rt.cpan.org/Ticket/Display.html?id=118919)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
-=| Steve Hay, 25.09.2019 08:34:07 +0100 |=-
> What happens if you revert the change in that file? I.e. Change
> FINFO_NAME back to FINFO_NORM on line 168, and on line 18 (the
> APR::Const -compile line)? Does that fix it for you?

With these two lines reverted, all tests pass for me (and the Debian
package finished building. Yay!).


-- Damyan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
>
> What happens if you revert the change in that file? I.e. Change
> FINFO_NAME back to FINFO_NORM on line 168, and on line 18 (the
> APR::Const -compile line)? Does that fix it for you?
>

With that change all the request_rec tests run and pass.

Adam

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
-=| Damyan Ivanov, 25.09.2019 23:06:56 +0300 |=-
> -=| Steve Hay, 25.09.2019 08:34:07 +0100 |=-
> > What happens if you revert the change in that file? I.e. Change
> > FINFO_NAME back to FINFO_NORM on line 168, and on line 18 (the
> > APR::Const -compile line)? Does that fix it for you?
>
> With these two lines reverted, all tests pass for me.

Out of interest I also tried using "FINFO_NAME | FINFO_NORM" on line
168 and the test failed with the same error. It appears that
FINFO_NAME triggers it.

Tracing this in APR, the error seems to come from
file_io/unix/filestat.c? where the valid flags on line 73 don't
include APR_FINFO_NAME. This kind of makes sense, because the stat(2)
struct lacks information about the file name.

? https://sources.debian.org/src/apr/1.6.5-1/file_io/unix/filestat.c/

-- Damyan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
On Thu, 26 Sep 2019 at 06:54, Damyan Ivanov <dmn@debian.org> wrote:
>
> -=| Damyan Ivanov, 25.09.2019 23:06:56 +0300 |=-
> > -=| Steve Hay, 25.09.2019 08:34:07 +0100 |=-
> > > What happens if you revert the change in that file? I.e. Change
> > > FINFO_NAME back to FINFO_NORM on line 168, and on line 18 (the
> > > APR::Const -compile line)? Does that fix it for you?
> >
> > With these two lines reverted, all tests pass for me.
>
> Out of interest I also tried using "FINFO_NAME | FINFO_NORM" on line
> 168 and the test failed with the same error. It appears that
> FINFO_NAME triggers it.
>
> Tracing this in APR, the error seems to come from
> file_io/unix/filestat.c¹ where the valid flags on line 73 don't
> include APR_FINFO_NAME. This kind of makes sense, because the stat(2)
> struct lacks information about the file name.
>
> ¹ https://sources.debian.org/src/apr/1.6.5-1/file_io/unix/filestat.c/
>
> -- Damyan

Good catch! That explains why using FINFO_NAME is failing for you but
working for me (on Windows): apr/file_io/win32/filestat.c *does* have
support for FINFO_NAME in it, filling in finfo->name from filename if
it succeeded in getting filename (using calls other than stat()!).

The point of the request_rec test in question is only to test a single
field anyway (the rest are tested in TestAPR::finfo, as the comment
says) so I will simply change it to test a different field. Evidently
FINFO_NAME was a poor choice!

Before I actually roll out an RC3, please can you confirm that
switching to FINFO_SIZE as per this patch works for you (it does for
me):

Index: t/response/TestAPI/request_rec.pm
===================================================================
--- t/response/TestAPI/request_rec.pm (revision 1866274)
+++ t/response/TestAPI/request_rec.pm (working copy)
@@ -15,7 +15,7 @@
use APR::Pool ();

use Apache2::Const -compile => qw(OK M_GET M_PUT);
-use APR::Const -compile => qw(FINFO_NAME);
+use APR::Const -compile => qw(FINFO_SIZE);

#this test module is only for testing fields in the request_rec
#listed in apache_structures.map
@@ -165,12 +165,13 @@

# finfo
{
- my $finfo = APR::Finfo::stat(__FILE__,
APR::Const::FINFO_NAME, $r->pool);
+ my $size = (stat __FILE__)[7];
+ my $finfo = APR::Finfo::stat(__FILE__,
APR::Const::FINFO_SIZE, $r->pool);
$r->finfo($finfo);
# just one field test, all accessors are fully tested in
# TestAPR::finfo
- ok t_cmp($r->finfo->fname,
- __FILE__,
+ ok t_cmp($r->finfo->size,
+ $size,
'$r->finfo');
}
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
-=| Steve Hay, 26.09.2019 09:02:19 +0100 |=-
> Before I actually roll out an RC3, please can you confirm that
> switching to FINFO_SIZE as per this patch works for you (it does for
> me):
> …

This works for me:

# testing : $r->finfo
# expected: 7278
# received: 7278
ok 44

(the rest of the tests still pass).

-- Damyan


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org
Re: [RELEASE CANDIDATE] mod_perl-2.0.11 RC2 [ In reply to ]
On Thu, 26 Sep 2019 at 16:17, Damyan Ivanov <dmn@debian.org> wrote:
>
> -=| Steve Hay, 26.09.2019 09:02:19 +0100 |=-
> > Before I actually roll out an RC3, please can you confirm that
> > switching to FINFO_SIZE as per this patch works for you (it does for
> > me):
> > …
>
> This works for me:
>
> # testing : $r->finfo
> # expected: 7278
> # received: 7278
> ok 44
>
> (the rest of the tests still pass).
>

Thanks for the confirmation. RC3 is now uploaded.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org