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                           \
     {                                                                   \