You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by John D Groenveld <jd...@elvis.arl.psu.edu> on 2015/06/03 02:47:13 UTC
Re: [RELEASE CANDIDATE]: mod_perl-2.0.9 RC2
In message <CA...@mail.gmail.com>
, Steve Hay writes:
>Please download, test, and report back on this release candidate of
>the long-awaited mod_perl 2.0.9.
Not good.
$ cat /etc/release
OmniOS v11 r151014
Copyright 2015 OmniTI Computer Consulting, Inc. All rights reserved.
Use is subject to license terms.
$ perl -V
Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
Platform:
osname=solaris, osvers=2.11, archname=i86pc-solaris-64
uname='sunos bernice 5.11 omnios-10b9c79 i86pc i386 i86pc '
config_args='-Dprefix=/opt/apache2/perl-5.20.2 -Dcc=gcc -Duseshrplib -Uusemymalc -Duselargefiles -Ubincompat5005 -Doptimize=-O3 -Duse64bitall'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV',
optimize='-O3',
cppflags='-m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector'
ccversion='', gccversion='4.8.1', 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='gcc', ldflags =' -m64 -fstack-protector -L/usr/gnu/lib '
libpth=/opt/gcc-4.8.1/lib /opt/gcc-4.8.1/lib/gcc/i386-pc-solaris2.11/4.8.1/include-fixed /usr/lib /usr/gnu/lib /usr/ccs/lib
libs=-lsocket -lnsl -ldl -lm -lc
perllibs=-lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -R /opt/apache2/perl-5.20.2/lib/5.20.2/i86pc-solaris-64/CORE'
cccdlflags='-fPIC', lddlflags=' -shared -m64 -L/usr/gnu/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
PERL_USE_SAFE_PUTENV USE_64_BIT_ALL USE_64_BIT_INT
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
USE_PERL_ATOF
Built under solaris
Compiled at Mar 27 2015 17:54:42
@INC:
/opt/apache2/perl-5.20.2/lib/site_perl/5.20.2/i86pc-solaris-64
/opt/apache2/perl-5.20.2/lib/site_perl/5.20.2
/opt/apache2/perl-5.20.2/lib/5.20.2/i86pc-solaris-64
/opt/apache2/perl-5.20.2/lib/5.20.2
.
$ /opt/apache2/bin/httpd -V
Server version: Apache/2.2.29 (Unix)
Server built: Dec 14 2014 18:03:56
Server's Module Magic Number: 20051115:36
Server loaded: APR 1.5.1, APR-Util 1.5.3
Compiled using: APR 1.5.1, APR-Util 1.5.3
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_PROC_PTHREAD_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=128
-D HTTPD_ROOT="/opt/apache2"
-D SUEXEC_BIN="/opt/apache2/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
$ env PATH=/opt/apache2/perl-5.20.2/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/opt/gcc-4.8.1/bin:/usr/sfw/bin:/usr/gnu/bin gmake
Go
cd "src/modules/perl" && gmake
gmake[1]: Entering directory `/home/john/mod_perl-2.0.9-rc2/src/modules/perl'
gcc -I/home/john/mod_perl-2.0.9-rc2/src/modules/perl -I/home/john/mod_perl-2.0.9-rc2/xs -I/opt/apache2/include -I/opt/apache2/include -I/usr/sfw/include -I/opt/apache2/include -m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -I/opt/apache2/perl-5.20.2/lib/5.20.2/i86pc-solaris-64/CORE -DMOD_PERL -DMP_COMPAT_1X -DSOLARIS2=11 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -O3 -fPIC \
-c modperl_filter.c && mv modperl_filter.o modperl_filter.lo
In file included from mod_perl.h:32:0,
from modperl_filter.c:17:
modperl_filter.c: In function 'modperl_run_filter':
modperl_error.h:42:9: error: unknown type name 'modperl_interp_t'
modperl_interp_t *interp = modperl_thx_interp_get(aTHX); \
^
modperl_error.h:50:9: note: in expansion of macro 'MP_PUTBACK_IF_USED'
MP_PUTBACK_IF_USED(); \
^
modperl_filter.c:538:17: note: in expansion of macro 'MP_CROAK_PUTBACK'
MP_CROAK_PUTBACK(MODPERL_FILTER_ERROR,
^
modperl_error.h:42:36: warning: initialization makes pointer from integer without a cast [enabled by default]
modperl_interp_t *interp = modperl_thx_interp_get(aTHX); \
^
modperl_error.h:50:9: note: in expansion of macro 'MP_PUTBACK_IF_USED'
MP_PUTBACK_IF_USED(); \
^
modperl_filter.c:538:17: note: in expansion of macro 'MP_CROAK_PUTBACK'
MP_CROAK_PUTBACK(MODPERL_FILTER_ERROR,
^
Re: [RELEASE CANDIDATE]: mod_perl-2.0.9 RC2
Posted by John D Groenveld <jd...@elvis.arl.psu.edu>.
In message <CA...@mail.gmail.com>
, Steve Hay writes:
>This looks like the same failure reported here with an unthreaded perl:
>
>https://rt.cpan.org/Ticket/Display.html?id=3D102930#txn-1502924
>
>Unfortunately, I can't reproduce that on Windows since the WinNT MPM
>is threaded and hence requires a threaded perl to build with. However,
>I think it's a failure introduced by r1682366, and (shooting in the
>dark) I wonder if the patch below (also attached, although the patch
>might have some Windows style EOLs) would fix it?
Fixed. Thank you!
John
groenveld@acm.org
Re: [RELEASE CANDIDATE]: mod_perl-2.0.9 RC2
Posted by John D Groenveld <jd...@elvis.arl.psu.edu>.
In message <CA...@mail.gmail.com>
, Steve Hay writes:
>This looks like the same failure reported here with an unthreaded perl:
>
>https://rt.cpan.org/Ticket/Display.html?id=102930#txn-1502924
With the patch, 2.0.9RC2 also builds with unthreaded
httpd-2.4.12 and perl-5.22.0, but test hits familiar
errors.
With perl-5.20.2, it test clean.
BTW I also have to kludge t/conf/httpd.conf by disabling
mod_proxy_balancer but I think that's an Illumos/Solaris
issue with Apache 2.4 thats not MP specific.
Thanks,
John
groenveld@acm.org
Test Summary Report
-------------------
t/api/uri.t (Wstat: 0 Tests: 12 Failed: 0)
Parse errors: Bad plan. You planned 24 tests but ran 12.
t/apr-ext/uri.t (Wstat: 65280 Tests: 12 Failed: 0)
Non-zero exit status: 255
Parse errors: Bad plan. You planned 36 tests but ran 12.
t/apr/uri.t (Wstat: 0 Tests: 12 Failed: 0)
Parse errors: Bad plan. You planned 36 tests but ran 12.
t/directive/perlloadmodule3.t (Wstat: 0 Tests: 3 Failed: 3)
Failed tests: 1-3
t/modperl/print.t (Wstat: 0 Tests: 5 Failed: 0)
Parse errors: Bad plan. You planned 6 tests but ran 5.
t/modperl/printf.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
Files=245, Tests=3085, 338 wallclock secs ( 2.30 usr 2.22 sys + 200.19 cusr 106.02 csys = 310.73 CPU)
Result: FAIL
Failed 6/245 test programs. 3/3085 subtests failed.
$ /opt/apache24/bin/httpd -V
Server version: Apache/2.4.12 (Unix)
Server built: Jun 3 2015 08:47:59
Server's Module Magic Number: 20120211:41
Server loaded: APR 1.5.1, APR-UTIL 1.5.4
Compiled using: APR 1.5.1, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_PROC_PTHREAD_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="/opt/apache24"
-D SUEXEC_BIN="/opt/apache24/bin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
$ perl -V
Summary of my perl5 (revision 5 version 22 subversion 0) configuration:
Platform:
osname=solaris, osvers=2.11, archname=i86pc-solaris-64
uname='sunos bernice 5.11 omnios-170cea2 i86pc i386 i86pc '
config_args='-Dprefix=/opt/apache24/perl-5.22.0 -Dcc=gcc -Duseshrplib -Uusemymalc -Duselargefiles -Ubincompat5005 -Doptimize=-O3 -Duse64bitall'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -DPERL_USE_SAFE_PUTENV',
optimize='-O3',
cppflags='-m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector'
ccversion='', gccversion='4.8.1', 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='gcc', ldflags =' -m64 -fstack-protector -L/usr/gnu/lib '
libpth=/opt/gcc-4.8.1/lib /opt/gcc-4.8.1/lib/gcc/i386-pc-solaris2.11/4.8.1/include-fixed /usr/lib /usr/gnu/lib /usr/ccs/lib
libs=-lpthread -lsocket -lnsl -ldl -lm -lc
perllibs=-lpthread -lsocket -lnsl -ldl -lm -lc
libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -R /opt/apache24/perl-5.22.0/lib/5.22.0/i86pc-solaris-64/CORE'
cccdlflags='-fPIC', lddlflags=' -shared -m64 -L/usr/gnu/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
PERL_USE_SAFE_PUTENV 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 solaris
Compiled at Jun 3 2015 08:06:39
@INC:
/opt/apache24/perl-5.22.0/lib/site_perl/5.22.0/i86pc-solaris-64
/opt/apache24/perl-5.22.0/lib/site_perl/5.22.0
/opt/apache24/perl-5.22.0/lib/5.22.0/i86pc-solaris-64
/opt/apache24/perl-5.22.0/lib/5.22.0
.
Re: [RELEASE CANDIDATE]: mod_perl-2.0.9 RC2
Posted by Steve Hay <st...@googlemail.com>.
On 3 June 2015 at 01:47, John D Groenveld <jd...@elvis.arl.psu.edu> wrote:
> In message <CA...@mail.gmail.com>
> , Steve Hay writes:
>>Please download, test, and report back on this release candidate of
>>the long-awaited mod_perl 2.0.9.
>
> Not good.
>
> $ cat /etc/release
> OmniOS v11 r151014
> Copyright 2015 OmniTI Computer Consulting, Inc. All rights reserved.
> Use is subject to license terms.
>
>
> $ perl -V
> Summary of my perl5 (revision 5 version 20 subversion 2) configuration:
>
> Platform:
> osname=solaris, osvers=2.11, archname=i86pc-solaris-64
> uname='sunos bernice 5.11 omnios-10b9c79 i86pc i386 i86pc '
> config_args='-Dprefix=/opt/apache2/perl-5.20.2 -Dcc=gcc -Duseshrplib -Uusemymalc -Duselargefiles -Ubincompat5005 -Doptimize=-O3 -Duse64bitall'
> hint=recommended, useposix=true, d_sigaction=define
> useithreads=undef, usemultiplicity=undef
> use64bitint=define, use64bitall=define, uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='gcc', ccflags ='-m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV',
> optimize='-O3',
> cppflags='-m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector'
> ccversion='', gccversion='4.8.1', 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='gcc', ldflags =' -m64 -fstack-protector -L/usr/gnu/lib '
> libpth=/opt/gcc-4.8.1/lib /opt/gcc-4.8.1/lib/gcc/i386-pc-solaris2.11/4.8.1/include-fixed /usr/lib /usr/gnu/lib /usr/ccs/lib
> libs=-lsocket -lnsl -ldl -lm -lc
> perllibs=-lsocket -lnsl -ldl -lm -lc
> libc=/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version=''
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -R /opt/apache2/perl-5.20.2/lib/5.20.2/i86pc-solaris-64/CORE'
> cccdlflags='-fPIC', lddlflags=' -shared -m64 -L/usr/gnu/lib -fstack-protector'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
> PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
> PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> PERL_USE_SAFE_PUTENV USE_64_BIT_ALL USE_64_BIT_INT
> USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
> USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
> USE_PERL_ATOF
> Built under solaris
> Compiled at Mar 27 2015 17:54:42
> @INC:
> /opt/apache2/perl-5.20.2/lib/site_perl/5.20.2/i86pc-solaris-64
> /opt/apache2/perl-5.20.2/lib/site_perl/5.20.2
> /opt/apache2/perl-5.20.2/lib/5.20.2/i86pc-solaris-64
> /opt/apache2/perl-5.20.2/lib/5.20.2
> .
>
>
> $ /opt/apache2/bin/httpd -V
> Server version: Apache/2.2.29 (Unix)
> Server built: Dec 14 2014 18:03:56
> Server's Module Magic Number: 20051115:36
> Server loaded: APR 1.5.1, APR-Util 1.5.3
> Compiled using: APR 1.5.1, APR-Util 1.5.3
> Architecture: 64-bit
> Server MPM: Prefork
> threaded: no
> forked: yes (variable process count)
> Server compiled with....
> -D APACHE_MPM_DIR="server/mpm/prefork"
> -D APR_HAS_SENDFILE
> -D APR_HAS_MMAP
> -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
> -D APR_USE_PROC_PTHREAD_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=128
> -D HTTPD_ROOT="/opt/apache2"
> -D SUEXEC_BIN="/opt/apache2/bin/suexec"
> -D DEFAULT_PIDLOG="logs/httpd.pid"
> -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
> -D DEFAULT_LOCKFILE="logs/accept.lock"
> -D DEFAULT_ERRORLOG="logs/error_log"
> -D AP_TYPES_CONFIG_FILE="conf/mime.types"
> -D SERVER_CONFIG_FILE="conf/httpd.conf"
>
>
> $ env PATH=/opt/apache2/perl-5.20.2/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/opt/gcc-4.8.1/bin:/usr/sfw/bin:/usr/gnu/bin gmake
> Go
> cd "src/modules/perl" && gmake
> gmake[1]: Entering directory `/home/john/mod_perl-2.0.9-rc2/src/modules/perl'
> gcc -I/home/john/mod_perl-2.0.9-rc2/src/modules/perl -I/home/john/mod_perl-2.0.9-rc2/xs -I/opt/apache2/include -I/opt/apache2/include -I/usr/sfw/include -I/opt/apache2/include -m64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -I/opt/apache2/perl-5.20.2/lib/5.20.2/i86pc-solaris-64/CORE -DMOD_PERL -DMP_COMPAT_1X -DSOLARIS2=11 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -O3 -fPIC \
> -c modperl_filter.c && mv modperl_filter.o modperl_filter.lo
> In file included from mod_perl.h:32:0,
> from modperl_filter.c:17:
> modperl_filter.c: In function 'modperl_run_filter':
> modperl_error.h:42:9: error: unknown type name 'modperl_interp_t'
> modperl_interp_t *interp = modperl_thx_interp_get(aTHX); \
> ^
> modperl_error.h:50:9: note: in expansion of macro 'MP_PUTBACK_IF_USED'
> MP_PUTBACK_IF_USED(); \
> ^
> modperl_filter.c:538:17: note: in expansion of macro 'MP_CROAK_PUTBACK'
> MP_CROAK_PUTBACK(MODPERL_FILTER_ERROR,
> ^
> modperl_error.h:42:36: warning: initialization makes pointer from integer without a cast [enabled by default]
> modperl_interp_t *interp = modperl_thx_interp_get(aTHX); \
> ^
> modperl_error.h:50:9: note: in expansion of macro 'MP_PUTBACK_IF_USED'
> MP_PUTBACK_IF_USED(); \
> ^
> modperl_filter.c:538:17: note: in expansion of macro 'MP_CROAK_PUTBACK'
> MP_CROAK_PUTBACK(MODPERL_FILTER_ERROR,
> ^
>
This looks like the same failure reported here with an unthreaded perl:
https://rt.cpan.org/Ticket/Display.html?id=102930#txn-1502924
Unfortunately, I can't reproduce that on Windows since the WinNT MPM
is threaded and hence requires a threaded perl to build with. However,
I think it's a failure introduced by r1682366, and (shooting in the
dark) I wonder if the patch below (also attached, although the patch
might have some Windows style EOLs) would fix it?
Index: src/modules/perl/modperl_error.h
===================================================================
--- src/modules/perl/modperl_error.h (revision 1683243)
+++ src/modules/perl/modperl_error.h (working copy)
@@ -37,6 +37,7 @@
void modperl_croak(pTHX_ apr_status_t rc, const char* func);
+#ifdef USE_ITHREADS
#define MP_PUTBACK_IF_USED() STMT_START \
{ \
modperl_interp_t *interp = modperl_thx_interp_get(aTHX); \
@@ -44,6 +45,9 @@
modperl_interp_unselect(interp); \
} \
} STMT_END
+#else
+#define MP_PUTBACK_IF_USED() NOOP
+#endif
#define MP_CROAK_PUTBACK(rc, func) STMT_START \
{ \