Also, can you please get the trace, after commenting out all the irrelevant config from httpd.conf, leaving only the config needed to reproduce the problem? It'll make the trace much more useful. Thanks Steve.
I've reduced the httpd.conf file to just this (!):-
===== LoadModule perl_module C:/Temp/modperl-2.0/src/modules/perl/mod_perl.so ServerName localhost:8529 Listen 8529 ServerRoot C:/Temp/modperl-2.0/t DocumentRoot C:/Temp/modperl-2.0/t/htdocs LogLevel debug PerlSwitches -IC:/Temp/modperl-2.0/Apache-Test/lib PerlSwitches -IC:/Temp/modperl-2.0/blib/lib PerlSwitches -IC:/Temp/modperl-2.0/blib/arch PerlSwitches -IC:/Temp/modperl-2.0/t/response Listen 8542 <VirtualHost _default_:8542> PerlOptions +Parent </Virtualhost> PerlLoadModule TestDirective::perlloadmodule =====
The server still crashes on startup, even when started with the "-t" switch. Attached is a trace (MOD_PERL_TRACE=all) of it crashing with this minimal configuration.
If I move the "PerlLoadModule TestDirective::perlloadmodule" line to above the <VirtualHost> then the "-t" test passes OK (the only output is "syntax OK"). The server still doesn't start, though -- without the "-t" switch it crashes in the same way as before (i.e. the "Free to wrong pool" error). Here's the (much shorter) stacktrace from that crash:
=====
VMem::Free(void * 0x00f0cab4) line 208 + 3 bytes
CPerlHost::Free(void * 0x00f0cab4) line 59 + 34 bytes
PerlMemFree(IPerlMem * 0x00262434, void * 0x00f0cab4) line 302
Perl_safesysfree(void * 0x00f0cab4) line 143 + 26 bytes
Perl_sv_clear(interpreter * 0x0026438c, sv * 0x00f04e70) line 5198 + 13 bytes
Perl_sv_free(interpreter * 0x0026438c, sv * 0x00f04e70) line 5342 + 13 bytes
Perl_free_tmps(interpreter * 0x0026438c) line 189 + 13 bytes
perl_destruct(interpreter * 0x0026438c) line 456 + 23 bytes
modperl_perl_destruct(interpreter * 0x0026438c) line 130 + 9 bytes
modperl_interp_destroy(modperl_interp_t * 0x009273d0) line 128 + 12 bytes
modperl_interp_pool_destroy(void * 0x00850818) line 184 + 12 bytes
run_cleanups(cleanup_t * * 0x00852608) line 1979 + 13 bytes
apr_pool_destroy(apr_pool_t * 0x008525f8) line 755 + 12 bytes
apr_pool_clear(apr_pool_t * 0x0028a958) line 715 + 12 bytes
main(int 7, const char * const * 0x00282908) line 619
mainCRTStartup() line 338 + 17 bytes
KERNEL32! 77e814c7()
=====
- Steve
C:\Temp\modperl-2.0>C:\apache2\bin\Apache.exe -t -d C:/Temp/modperl-2.0/t -f C:/ Temp/modperl-2.0/t/conf/httpd.conf -DAPACHE2 -DPERL_USEITHREADS mod_perl trace flags dump:
c On (configuration for directive handlers)
d On (directive processing)
e On (environment variables)
f On (filters)
g On (Perl runtime interaction)
h On (handlers)
i On (interpreter pool management)
m On (memory allocations)
o On (I/O)
s On (perl sections)
t On (benchmark-ish timings)
modperl_config.c:137: 0x84fd38
modperl_cmd.c:100: arg = -IC:/Temp/modperl-2.0/Apache-Test/lib
modperl_cmd.c:100: arg = -IC:/Temp/modperl-2.0/blib/lib
modperl_cmd.c:100: arg = -IC:/Temp/modperl-2.0/blib/arch
modperl_cmd.c:100: arg = -IC:/Temp/modperl-2.0/t/response
modperl_config.c:137: 0x850ab0
modperl_config.c:121: 0x850d70
modperl_cmd.c:257: arg = +Parent
modperl_cmd.c:498: PerlLoadModule TestDirective::perlloadmodule
MpSrv flags dump (localhost):
Clone Off
Parent Off
Enable On
Autoload Off
MergeHandlers Off
Trans On
Type On
Cleanup On
ProcessConnection On
ChildExit On
OutputFilter On
InputFilter On
ChildInit On
HeaderParser On
OpenLogs On
Log On
Authz On
PostReadRequest On
Access On
Fixup On
PreConnection On
Authen On
PostConfig On
MapToStorage On
Response On
Unset On
modperl_config_srv_argv_init =>
0 = Apache.exe
1 = -IC:/Temp/modperl-2.0/Apache-Test/lib
2 = -IC:/Temp/modperl-2.0/blib/lib
3 = -IC:/Temp/modperl-2.0/blib/arch
4 = -IC:/Temp/modperl-2.0/t/response
5 = -e;0
modperl_env.c:407: [2760/0x2643cc] $ENV{APPDATA} = "C:\Documents and Settings\st
eveh\Application Data";
modperl_env.c:407: [2760/0x2643cc] $ENV{ASANY8} = "C:\Program Files\Sybase\SQL A
nywhere 8";
modperl_env.c:407: [2760/0x2643cc] $ENV{ASANYSH8} = "C:\Program Files\Sybase\Sha
red";
modperl_env.c:407: [2760/0x2643cc] $ENV{CLASSPATH} = ""C:\Program Files\Java\j2r
e1.4.1\QTJava.zip"";
modperl_env.c:407: [2760/0x2643cc] $ENV{CLIENTNAME} = "Console";
modperl_env.c:407: [2760/0x2643cc] $ENV{CommonProgramFiles} = "C:\Program Files\
Common Files";
modperl_env.c:407: [2760/0x2643cc] $ENV{COMPUTERNAME} = "TANGAROA";
modperl_env.c:407: [2760/0x2643cc] $ENV{ComSpec} = "C:\WINDOWS\system32\cmd.exe"
;
modperl_env.c:407: [2760/0x2643cc] $ENV{HOMEDRIVE} = "U:";
modperl_env.c:407: [2760/0x2643cc] $ENV{HOMEPATH} = "\";
modperl_env.c:407: [2760/0x2643cc] $ENV{HOMESHARE} = "\\HADES\users\steveh";
modperl_env.c:407: [2760/0x2643cc] $ENV{HP_TEMP} = "C:";
modperl_env.c:407: [2760/0x2643cc] $ENV{INCLUDE} = "C:\PROGRA~1\MICROS~2\VC98\AT
L\include;C:\PROGRA~1\MICROS~2\VC98\include;C:\PROGRA~1\MICROS~2\VC98\MFC\includ
e";
modperl_env.c:407: [2760/0x2643cc] $ENV{LIB} = "C:\PROGRA~1\MICROS~2\VC98\lib;C:
\PROGRA~1\MICROS~2\VC98\MFC\lib";
modperl_env.c:407: [2760/0x2643cc] $ENV{LOGONSERVER} = "\\ADAMS";
modperl_env.c:407: [2760/0x2643cc] $ENV{MOD_PERL_TRACE} = "all";
modperl_env.c:407: [2760/0x2643cc] $ENV{MSDevDir} = "C:\PROGRA~1\MICROS~2\Common
\MSDev98";
modperl_env.c:407: [2760/0x2643cc] $ENV{MSVCDir} = "C:\PROGRA~1\MICROS~2\VC98";
modperl_env.c:407: [2760/0x2643cc] $ENV{NUMBER_OF_PROCESSORS} = "1";
modperl_env.c:407: [2760/0x2643cc] $ENV{OS} = "Windows_NT";
modperl_env.c:407: [2760/0x2643cc] $ENV{Path} = "C:\WINDOWS\system32;C:\WINDOWS;
C:\PROGRA~1\MICROS~2\Common\MSDev98\BIN;C:\PROGRA~1\MICROS~2\VC98\Bin;C:\PROGRA~
1\MICROS~2\Common\Tools\WINNT;C:\PROGRA~1\MICROS~2\Common\Tools;U:\scripts\batch
;C:\apache2\perl5\bin";
modperl_env.c:407: [2760/0x2643cc] $ENV{PATHEXT} = ".COM;.EXE;.BAT;.CMD;.VBS;.VB
E;.JS;.JSE;.WSF;.WSH";
modperl_env.c:407: [2760/0x2643cc] $ENV{PROCESSOR_ARCHITECTURE} = "x86";
modperl_env.c:407: [2760/0x2643cc] $ENV{PROCESSOR_IDENTIFIER} = "x86 Family 15 M
odel 2 Stepping 4, GenuineIntel";
modperl_env.c:407: [2760/0x2643cc] $ENV{PROCESSOR_LEVEL} = "15";
modperl_env.c:407: [2760/0x2643cc] $ENV{PROCESSOR_REVISION} = "0204";
modperl_env.c:407: [2760/0x2643cc] $ENV{ProgramFiles} = "C:\Program Files";
modperl_env.c:407: [2760/0x2643cc] $ENV{PROMPT} = "$P$G";
modperl_env.c:407: [2760/0x2643cc] $ENV{QTJAVA} = ""C:\Program Files\Java\j2re1.
4.1\QTJava.zip"";
modperl_env.c:407: [2760/0x2643cc] $ENV{SESSIONNAME} = "Console";
modperl_env.c:407: [2760/0x2643cc] $ENV{SystemDrive} = "C:";
modperl_env.c:407: [2760/0x2643cc] $ENV{SystemRoot} = "C:\WINDOWS";
modperl_env.c:407: [2760/0x2643cc] $ENV{TEMP} = "C:\DOCUME~1\steveh\LOCALS~1\Tem
p";
modperl_env.c:407: [2760/0x2643cc] $ENV{TMP} = "C:\DOCUME~1\steveh\LOCALS~1\Temp
";
modperl_env.c:407: [2760/0x2643cc] $ENV{USERDNSDOMAIN} = "UK.RADAN.COM";
modperl_env.c:407: [2760/0x2643cc] $ENV{USERDOMAIN} = "RADAN";
modperl_env.c:407: [2760/0x2643cc] $ENV{USERNAME} = "steveh";
modperl_env.c:407: [2760/0x2643cc] $ENV{USERPROFILE} = "C:\Documents and Setting
s\steveh";
modperl_env.c:407: [2760/0x2643cc] $ENV{windir} = "C:\WINDOWS";
modperl_env.c:82: [0x2643cc] %ENV = ();
modperl_env.c:209: $ENV{MOD_PERL} = "mod_perl/1.99_11-dev";
modperl_env.c:209: $ENV{GATEWAY_INTERFACE} = "CGI-Perl/1.1";
modperl_env.c:165:
[2760/1944/0x2643cc/localhost:8529]
@ENV{keys scfg->SetEnv} = values scfg->SetEnv;
modperl_env.c:171:
[2760/1944/0x2643cc/localhost:8529]
@ENV{keys scfg->PassEnv} = values scfg->PassEnv;
modperl_env.c:108: $ENV{PATH} = "C:\WINDOWS\system32;C:\WINDOWS;C:\PROGRA~1\MICR
OS~2\Common\MSDev98\BIN;C:\PROGRA~1\MICROS~2\VC98\Bin;C:\PROGRA~1\MICROS~2\Commo
n\Tools\WINNT;C:\PROGRA~1\MICROS~2\Common\Tools;U:\scripts\batch;C:\apache2\perl
5\bin";
modperl_interp.c:232: modperl_interp_init() server=localhost:8529
modperl_interp.c:107: 0x26cc38
mod_perl.c:271: constructed interpreter=0x2643cc
MpSrv flags dump ((null)):
Clone Off
Parent On
Enable On
Autoload Off
MergeHandlers Off
Trans On
Type On
Cleanup On
ProcessConnection On
ChildExit On
OutputFilter On
InputFilter On
ChildInit On
HeaderParser On
OpenLogs On
Log On
Authz On
PostReadRequest On
Access On
Fixup On
PreConnection On
Authen On
PostConfig On
MapToStorage On
Response On
Unset On
modperl_config_srv_argv_init =>
0 = Apache.exe
1 = -e;0
modperl_env.c:407: [2760/0x92c34c] $ENV{APPDATA} = "C:\Documents and Settings\st
eveh\Application Data";
modperl_env.c:407: [2760/0x92c34c] $ENV{ASANY8} = "C:\Program Files\Sybase\SQL A
nywhere 8";
modperl_env.c:407: [2760/0x92c34c] $ENV{ASANYSH8} = "C:\Program Files\Sybase\Sha
red";
modperl_env.c:407: [2760/0x92c34c] $ENV{CLASSPATH} = ""C:\Program Files\Java\j2r
e1.4.1\QTJava.zip"";
modperl_env.c:407: [2760/0x92c34c] $ENV{CLIENTNAME} = "Console";
modperl_env.c:407: [2760/0x92c34c] $ENV{CommonProgramFiles} = "C:\Program Files\
Common Files";
modperl_env.c:407: [2760/0x92c34c] $ENV{COMPUTERNAME} = "TANGAROA";
modperl_env.c:407: [2760/0x92c34c] $ENV{ComSpec} = "C:\WINDOWS\system32\cmd.exe"
;
modperl_env.c:407: [2760/0x92c34c] $ENV{HOMEDRIVE} = "U:";
modperl_env.c:407: [2760/0x92c34c] $ENV{HOMEPATH} = "\";
modperl_env.c:407: [2760/0x92c34c] $ENV{HOMESHARE} = "\\HADES\users\steveh";
modperl_env.c:407: [2760/0x92c34c] $ENV{HP_TEMP} = "C:";
modperl_env.c:407: [2760/0x92c34c] $ENV{INCLUDE} = "C:\PROGRA~1\MICROS~2\VC98\AT
L\include;C:\PROGRA~1\MICROS~2\VC98\include;C:\PROGRA~1\MICROS~2\VC98\MFC\includ
e";
modperl_env.c:407: [2760/0x92c34c] $ENV{LIB} = "C:\PROGRA~1\MICROS~2\VC98\lib;C:
\PROGRA~1\MICROS~2\VC98\MFC\lib";
modperl_env.c:407: [2760/0x92c34c] $ENV{LOGONSERVER} = "\\ADAMS";
modperl_env.c:407: [2760/0x92c34c] $ENV{MOD_PERL_TRACE} = "all";
modperl_env.c:407: [2760/0x92c34c] $ENV{MSDevDir} = "C:\PROGRA~1\MICROS~2\Common
\MSDev98";
modperl_env.c:407: [2760/0x92c34c] $ENV{MSVCDir} = "C:\PROGRA~1\MICROS~2\VC98";
modperl_env.c:407: [2760/0x92c34c] $ENV{NUMBER_OF_PROCESSORS} = "1";
modperl_env.c:407: [2760/0x92c34c] $ENV{OS} = "Windows_NT";
modperl_env.c:407: [2760/0x92c34c] $ENV{Path} = "C:\WINDOWS\system32;C:\WINDOWS;
C:\PROGRA~1\MICROS~2\Common\MSDev98\BIN;C:\PROGRA~1\MICROS~2\VC98\Bin;C:\PROGRA~
1\MICROS~2\Common\Tools\WINNT;C:\PROGRA~1\MICROS~2\Common\Tools;U:\scripts\batch
;C:\apache2\perl5\bin";
modperl_env.c:407: [2760/0x92c34c] $ENV{PATHEXT} = ".COM;.EXE;.BAT;.CMD;.VBS;.VB
E;.JS;.JSE;.WSF;.WSH";
modperl_env.c:407: [2760/0x92c34c] $ENV{PROCESSOR_ARCHITECTURE} = "x86";
modperl_env.c:407: [2760/0x92c34c] $ENV{PROCESSOR_IDENTIFIER} = "x86 Family 15 M
odel 2 Stepping 4, GenuineIntel";
modperl_env.c:407: [2760/0x92c34c] $ENV{PROCESSOR_LEVEL} = "15";
modperl_env.c:407: [2760/0x92c34c] $ENV{PROCESSOR_REVISION} = "0204";
modperl_env.c:407: [2760/0x92c34c] $ENV{ProgramFiles} = "C:\Program Files";
modperl_env.c:407: [2760/0x92c34c] $ENV{PROMPT} = "$P$G";
modperl_env.c:407: [2760/0x92c34c] $ENV{QTJAVA} = ""C:\Program Files\Java\j2re1.
4.1\QTJava.zip"";
modperl_env.c:407: [2760/0x92c34c] $ENV{SESSIONNAME} = "Console";
modperl_env.c:407: [2760/0x92c34c] $ENV{SystemDrive} = "C:";
modperl_env.c:407: [2760/0x92c34c] $ENV{SystemRoot} = "C:\WINDOWS";
modperl_env.c:407: [2760/0x92c34c] $ENV{TEMP} = "C:\DOCUME~1\steveh\LOCALS~1\Tem
p";
modperl_env.c:407: [2760/0x92c34c] $ENV{TMP} = "C:\DOCUME~1\steveh\LOCALS~1\Temp
";
modperl_env.c:407: [2760/0x92c34c] $ENV{USERDNSDOMAIN} = "UK.RADAN.COM";
modperl_env.c:407: [2760/0x92c34c] $ENV{USERDOMAIN} = "RADAN";
modperl_env.c:407: [2760/0x92c34c] $ENV{USERNAME} = "steveh";
modperl_env.c:407: [2760/0x92c34c] $ENV{USERPROFILE} = "C:\Documents and Setting
s\steveh";
modperl_env.c:407: [2760/0x92c34c] $ENV{windir} = "C:\WINDOWS";
modperl_env.c:82: [0x92c34c] %ENV = ();
modperl_env.c:209: $ENV{MOD_PERL} = "mod_perl/1.99_11-dev";
modperl_env.c:209: $ENV{GATEWAY_INTERFACE} = "CGI-Perl/1.1";
modperl_env.c:165:
[2760/1944/0x92c34c/(null):8542]
@ENV{keys scfg->SetEnv} = values scfg->SetEnv;
modperl_env.c:171:
[2760/1944/0x92c34c/(null):8542]
@ENV{keys scfg->PassEnv} = values scfg->PassEnv;
modperl_env.c:108: $ENV{PATH} = "C:\WINDOWS\system32;C:\WINDOWS;C:\PROGRA~1\MICR
OS~2\Common\MSDev98\BIN;C:\PROGRA~1\MICROS~2\VC98\Bin;C:\PROGRA~1\MICROS~2\Commo
n\Tools\WINNT;C:\PROGRA~1\MICROS~2\Common\Tools;U:\scripts\batch;C:\apache2\perl
5\bin";
modperl_interp.c:232: modperl_interp_init() server=(null):8542
modperl_interp.c:107: 0x93ce70
mod_perl.c:271: constructed interpreter=0x92c34c
mod_perl.c:358: created parent interpreter for VirtualHost (null):8542
mod_perl.c:318: skipping vhost init for base server localhost:8529
modperl_cmd.c:120: load PerlModule TestDirective::perlloadmodule
Free to wrong pool 9268d8 not 262770.
Note the errors or messages above, and press the <ESC> key to exit. 30...
C:\Temp\modperl-2.0>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
