-------- Original Message --------
Subject: Bug report
Date: Fri, 14 Sep 2007 10:27:19 -0400
From: Tom Donovan <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: [email protected]
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:
perl-script handler fails with Apache 2.2.6 on Windows
due to changes in stdin/stdout/stderr handles in mpm_winnt
Problem occurs with mod_perl 2.0.3 or with
current (9/14/2007) SVN trunk.
Problem is not seen if Apache is started as a single process
> httpd.exe -X
This is similar to, but not the same as, Apache bug 43329
http://issues.apache.org/bugzilla/show_bug.cgi?id=43329
which concerns the APR 1.2.11 process-creation changes.
This problem can be avoided if \server\mpm\winnt\mpm_winnt.c
from Apache 2.2.4 is used - even with APR 1.2.11.
Note that server\log.c line 411 also needs to be changed to
work with this older mpm_winnt.
Failure is at line 128 in modperl_io.c
(function modperl_io_perlio_override_stdin)
--------------------------------------------------------
modperl_io.c - in function modperl_io_perlio_override_stdin
124 /* open my $oldout, "<&STDIN" or die "Can't dup STDIN:
125 status = do_open(handle_save, "<&STDIN", 7, FALSE,
126 O_RDONLY, 0, Nullfp);
127 if (status == 0) {
128 Perl_croak(aTHX_ "Failed to dup STDIN: %" SVf,
129 }
---------------------------------------------------------
2. Used Components and their Configuration:
*** mod_perl version 2.000004
*** using C:\work\mod_perl-trunk\lib\Apache2\BuildConfig.pm
*** Makefile.PL options:
MP_APR_LIB => aprext
MP_COMPAT_1X => 1
MP_GENERATE_XS => 1
MP_LIBNAME => mod_perl
MP_USE_DSO => 1
*** httpd.exe -V
Server version: Apache/2.2.6 (Win32)
Server built: Sep 14 2007 09:44:55
Server's Module Magic Number: 20051115:5
Server loaded: APR 1.2.11, APR-Util 1.2.10
Compiled using: APR 1.2.11, APR-Util 1.2.10
Architecture: 32-bit
Server MPM: WinNT
threaded: yes (fixed thread count)
forked: no
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/winnt"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/apache"
-D SUEXEC_BIN="/apache/bin/suexec"
-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"
*** (apr|apu)-config linking info
(apr|apu)-config scripts were not found
*** C:\Perl\bin\perl.exe -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=MSWin32, osvers=5.00, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32
-D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED
-DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
-DUSE_PERLIO -DPERL_MSVCRT_READFIX',
optimize='-MD -Zi -DNDEBUG -O1',
cppflags='-DWIN32'
ccversion='12.00.8804', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8,
Off_t='__int64', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf
-libpath:"C:\Perl\lib\CORE" -machine:x86'
libpth=\lib
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib
odbc32.lib odbccp32.lib msvcrt.lib
perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib
version.lib odbc32.lib odbccp32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf -libpath:"C:\Perl\lib\CORE" -machine:x86'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS PERL_MALLOC_WRAP
PL_OP_SLAB_ALLOC USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_SITECUSTOMIZE
Locally applied patches:
ActivePerl Build 822 [280952]
Iin_load_module moved for compatibility with build 806
PerlEx support in CGI::Carp
Less verbose ExtUtils::Install and Pod::Find
Patch for CAN-2005-0448 from Debian with modifications
Rearrange @INC so that 'site' is searched before 'perl'
Partly reverted 24733 to preserve binary compatibility
MAINT31223 plus additional changes
31490 Problem bootstraping Win32CORE
31324 Fix DynaLoader::dl_findfile() to locate .so files again
31214 Win32::GetLastError fails when first called
31211 Restore Windows NT support
31188 Problem killing a pseudo-forked child on Win32
29732 ANSIfy the PATH environment variable on Windows
27527,29868 win32_async_check() can loop indefinitely
26970 Make Passive mode the default for Net::FTP
26379 Fix alarm() for Windows 2003
24699 ICMP_UNREACHABLE handling in Net::Ping
Built under MSWin32
Compiled at Jul 31 2007 19:34:48
%ENV:
PERL_LWP_USE_HTTP_10="1"
@INC:
C:/Perl/site/lib
C:/Perl/lib
.
*** Packages of interest status:
Apache2 : -
Apache2::Request : -
CGI : -
ExtUtils::MakeMaker: -
LWP : -
mod_perl : -
mod_perl2 : -
3. This is the core dump trace: (if you get a core dump):
Stack trace captured with WinDBG debugger
mod_perl.so built with VC6 from 9/14/2007 SVN trunk
01c4fd04 7c596a7c ntdll!NtTerminateProcess+0xb
01c4fdd0 78007cd8 KERNEL32!ExitProcess+0x72
01c4fddc 78007c60 MSVCRT!exit+0xc0
01c4fdec 28087b6b MSVCRT!exit+0xd
01c4fe40 28083ddf perl58!Perl_my_strlcpy+0x220b
01c4fe58 10007349 perl58!Perl_croak+0x19
01c4fe88 10001ba2 mod_perl!modperl_io_perlio_override_stdin+0xb5
[modperl_io.c @ 128]
01c4fec8 6ff025e8 mod_perl!modperl_response_handler_cgi+0xdb [mod_perl.c
@ 1095]
01c4fee0 6ff02a6f libhttpd!ap_run_handler+0x4e
[C:\work\httpd-2.2.6\server\config.c @ 158]
01c4ff10 6ff12f02 libhttpd!ap_invoke_handler+0x120
[C:\work\httpd-2.2.6\server\config.c @ 372]
01c4ff20 6ff0dc8d libhttpd!ap_process_request+0x50
[C:\work\httpd-2.2.6\modules\http\http_request.c @ 258]
01c4ff34 6ff05eae libhttpd!ap_process_http_connection+0x67
[C:\work\httpd-2.2.6\modules\http\http_core.c @ 184]
01c4ff4c 6ff06237 libhttpd!ap_run_process_connection+0x4e
[C:\work\httpd-2.2.6\server\connection.c @ 43]
01c4ff5c 6ff27400 libhttpd!ap_process_connection+0x4e
[C:\work\httpd-2.2.6\server\connection.c @ 180]
01c4ff80 1020bf53 libhttpd!worker_main+0xec
[C:\work\httpd-2.2.6\server\mpm\winnt\child.c @ 777]
01c4ffb4 7c57b3bc MSVCRTD!_beginthreadex+0x133
01c4ffec 00000000 KERNEL32!BaseThreadStart+0x52
This report was generated by t\REPORT on Fri Sep 14 13:52:24 2007 GMT.
-------------8<---------- End Bug Report --------------8<----------
Note: Complete the rest of the details and post this bug report to
modperl <at> perl.apache.org. To subscribe to the list send an empty
email to [EMAIL PROTECTED]