Re: [ MP2] startup problem with XML::LibXML
hi what version of libxml2 should I use ? I tried to compile version 1.52 against versions libxml2-2.5.1 precompiled binary from xmlsoft test failed with segfault t\08findnodes.t list of failed 6-18 t\13dtd.t list of failed 11-12 if I nmake install nevertheless , apache startup problem remains. before that I tried to compile XML::LibXML 1.52 against a slightly prior version of libxml2 all test successful but the problem with apache startup remains. -- with XML::LibXML 1.54_3 more tests do not pass t\02parse...dubiousTest returned status 2 (wstat 512, 0x200)DIED. FAILED tests 221-460Failed 240/460 tests, 47.83% okayt\08findnodes...dubiousTest returned status 5 (wstat 1280, 0x500)DIED. FAILED tests 6-35Failed 30/35 tests, 14.29% okayt\11memory..skipped all skipped: no reason givent\19encodingskipped all skipped: no reason givent\20extras..okt\23rawfunctionsokFailed Test Stat Wstat Total Fail Failed List of Failed---t\02parse.t 2 512 460 240 52.17% 221-460t\08findnodes.t 5 1280 35 30 85.71% 6-352 tests skipped. - With XML::LibXML 1.53 t\08findnodesdubiousTest returned status 5 (wstat 1280, 0x500)DIED. FAILED tests 6-18Failed 13/18 tests, 27.78% okayt\11memory...skipped all skipped: no reason givent\13dtd..FAILED tests 11-12Failed 2/16 tests, 87.50% okayt\19encoding.skipped all skipped: no reason given Failed Test Stat Wstat Total Fail Failed List of Failed---t\08findnodes.t 5 1280 18 13 72.22% 6-18t\13dtd.t 16 2 12.50% 11-122 tests skipped.
[ MP2] startup problem with XML::LibXML
PROBLEM : APACHE SEGFAULT WITH XML::LibXML on WIN32 I use all in one perl + apache + modperl2 RK binaries but I replace c:\perl\bin\perl58.dll with perl58.dll obtained after separately(and succesfully) compiling perl with vc6 DEBUG so that I get symbols in perl58.dll so the call stack gives line number in source (see below) everything works normally as far as I tried prepared scripts in RK distribution, but my test.pm makes an APACHE SEGFAULT when used from startup.pl. mytest.pm program --- package mytest; use warnings; use XML::LibXML(); use strict; our $test=XML::LibXML-new-parse_string("?xml version='1.0' encoding='iso-8859-1' ?doc/doc"); print $test-toString(); 1; - perl mytest.pm output ok USE from a regular CGI WORKS USE from a registry CGI works USE from a modperl handler (mason) works !!! use test(); from startup.pl output ok BUT produces just after apache segfault thanks pascal REPORT output SERVER_SOFTWARE: Apache/2.0.43 (Win32) mod_perl/1.99_08-dev Perl/v5.8.0 WINXP windbg output (590.7b4): Access violation - code c005 (first chance) call stack perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 00060006 , clone_params* param = 0006fdf8 )+0xf (CONV: cdecl) [..\sv.c @ 9020] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0006f750 , clone_params* param = 0006fdf8 )+0x1252 (CONV: cdecl) [..\sv.c @ 9262] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0095f00c , clone_params* param = 0006fdf8 )+0xeac (CONV: cdecl) [..\sv.c @ 9203] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 00946ae0 , clone_params* param = 0006fdf8 )+0xe3b (CONV: cdecl) [..\sv.c @ 9199] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 00946af8 , clone_params* param = 0006fdf8 )+0xe3b (CONV: cdecl) [..\sv.c @ 9199] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 00946abc , clone_params* param = 0006fdf8 )+0x14a2 (CONV: cdecl) [..\sv.c @ 9283] perl58!Perl_gp_dup(interpreter* my_perl = 01732e54 , gp* gp = 009549c4 , clone_params* param = 0006fdf8 )+0x213 (CONV: cdecl) [..\sv.c @ 8698] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0095110c , clone_params* param = 0006fdf8 )+0x8e6 (CONV: cdecl) [..\sv.c @ 9142] perl58!Perl_he_dup(interpreter* my_perl = 01732e54 , he* e = 0093e3ac , char shared = 0x1 '', clone_params* param = 0006fdf8 )+0x18e (CONV: cdecl) [..\hv.c @ 118] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0089ed58 , clone_params* param = 0006fdf8 )+0x10d4 (CONV: cdecl) [..\sv.c @ 9233] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0091fc58 , clone_params* param = 0006fdf8 )+0x88b (CONV: cdecl) [..\sv.c @ 9140] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0091fb64 , clone_params* param = 0006fdf8 )+0xe3b (CONV: cdecl) [..\sv.c @ 9199] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0091fbb0 , clone_params* param = 0006fdf8 )+0xe3b (CONV: cdecl) [..\sv.c @ 9199] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0091fb58 , clone_params* param = 0006fdf8 )+0x14a2 (CONV: cdecl) [..\sv.c @ 9283] perl58!Perl_gp_dup(interpreter* my_perl = 01732e54 , gp* gp = 009281a4 , clone_params* param = 0006fdf8 )+0x213 (CONV: cdecl) [..\sv.c @ 8698] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0091fbc8 , clone_params* param = 0006fdf8 )+0x8e6 (CONV: cdecl) [..\sv.c @ 9142] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0089a620 , clone_params* param = 0006fdf8 )+0xe3b (CONV: cdecl) [..\sv.c @ 9199] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0089a6a4 , clone_params* param = 0006fdf8 )+0xe3b (CONV: cdecl) [..\sv.c @ 9199] perl58!Perl_sv_dup(interpreter* my_perl = 01732e54 , sv* sstr = 0089a62c , clone_params* param = 0006fdf8 )+0x14a2 (CONV: cdecl) [..\sv.c @ 9283] perl58!Perl_gp_dup(interpreter* my_perl = 01732e54 , gp* gp = 009872f4 , clone_params* param = 0006fdf8 )+0x213 (CONV: cdecl) [..\sv.c @ 8698] vc6 debug output unhandled exception in apache.exe (mscvrt.dll) access violation c005 call stack MSVCRT! 77c42fc4() Perl_savepvn(interpreter * 0x016172cc, const char * 0x008b846c, long 23281824) line 926 + 17 bytes Perl_mg_dup(interpreter * 0x016172cc, magic * 0x01629f80, clone_params * 0x0006fdf8) line 8755 + 32 bytes Perl_sv_dup(interpreter * 0x016172cc, sv * 0x0006f750, clone_params * 0x0006fdf8) line 9261 + 22 bytes Perl_sv_dup(interpreter * 0x016172cc, sv * 0x0094920c, clone_params * 0x0006fdf8) line 9203 + 34 bytes Perl_sv_dup(interpreter * 0x016172cc, sv * 0x00933630, clone_params * 0x0006fdf8) line 9199 + 34 bytes Perl_sv_dup(interpreter * 0x016172cc, sv * 0x00933648, clone_params * 0x0006fdf8) line 9199 + 34 bytes Perl_sv_dup(interpreter * 0x016172cc, sv * 0x0093360c, clone_params * 0x0006fdf8) line 9283 + 22 bytes
Re: [ MP2] startup problem with XML::LibXML
it is version 1.54 pascal - Original Message - From: Matt Sergeant [EMAIL PROTECTED] To: pascal barbedor [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Saturday, January 25, 2003 8:00 PM Subject: Re: [ MP2] startup problem with XML::LibXML On Saturday, Jan 25, 2003, at 09:49 Europe/London, pascal barbedor wrote: PROBLEM : APACHE SEGFAULT WITH XML::LibXML on WIN32 What version of XML::LibXML? Try version 1.52, not 1.53 which is very buggy. Matt.
compiling modperl with mingw on win32
Hi on win32, I have compiled perl 5.8 with mingw gcc 3.2 and dmake. it gives a very fast perl. is it possible to build mod_perl 1.99_07 with this perl and an apache 2043 build with msvc6 ? (is it possible to compile apache with gcc3.2 ?) because I am trying it , and it don't seems to work . i have -probabely harmless no library found for c:\apache\lib\libapr... at the perl makefile.pl step (though i can see the files are there) and later a lot of undefined references to apr_ in modperl_handler.c and others. is it because there is an incompatibility format between msvc6 *.lib files and what gcc 3.2 is expecting to find ? thanks pascal
Re: Testing mod_perl app on Windows
Hi 2000 or XP are more robust, shell a little better you can install apache/modperl on any 2000, XP on XP you have name completion like in unix in the shell windows, a little + I have a running server on 2000 with apache 1 /modperl 1 plus a reverse proxy plain apache server to speed up a little pascal - Original Message - From: Ken Y. Clark [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, October 11, 2002 2:31 PM Subject: Testing mod_perl app on Windows My boss has asked me to pick up a Windows box so that I can test my application using the standard browsers on that OS. OK, I can see how it is a Good Thing to make sure that those people unfortunate enough to use Windows are able to use my application without errors. But I also had another idea: As I'm trying to make sure my code is platform-neutral, I'd like to try installing everything on the Windows platform as some people who download my app might try to do this. Not having touched Windows in about 3 years, all the different products really confuse me. When I go to the local PC store to pick up a box, what should I ask for? Windows 2000, ME, XP? Is there a specific XP server, or can I install Apache/mod_perl on the standard desktop OS? ky
Re: Apache::Util::ht_time outputs dates in local language
This function wraps an apache function (apr_ht_time()) which in turn uses strftime() to do the conversion. Try changing your LC_TIME or LANG variable before you start your web server. Perhaps start by setting LANG=C and go from there. Consult the strftime() man page for details on the interaction between the environment variables and the time output. on win XP I tried no locale in the perl script and LANG=C in ENV before starting Apache since none worked I just wrote a little function to get correct date in english thanks pascal
Apache::Util::ht_time outputs dates in local language
When I have caching problems, I run my pages through cachability to find out where they are failing. Check it out at: http://www.web-caching.com/cgi-web-caching/cacheability.py It reports on page headers as well as gives useful info like the following: Hi thanks this helped me determine why the cache did not work is it because the date format of Expires or Last-Modified was not RFC correct I noted on the occasion that Apache::Util::ht_time() outputs dates in locale language format (french for me) Mar, 12 Sept 2002 18:50:20 GMT instead of english ones is there a way to correct this ? thanks pascal
caching dynamic content in the reverse proxy
Hi following a recipe in modperl doc I have setup a front end plain apache "reverse proxy" + a back end modperl enabled. the front end has proxy cache enabled. any static content that is served by a default-handler from the backend server is well cached by the front one. but any content sent by a modperl handler is not cached although I set headers Last-Modified and Expires tocompatibles dates (with Apache::Util::ht_time) and Cache-content to public from the modperl handler with $r-header_out.. Also I wondered is the formatting of dates by ht_time (mer., 12 sept. 2002 12:20:01 GMT) by default is the "RFC one" ie the abbreviation point after day and month needed or not ? in any case i have tried both form without success for caching. Has any one succeeeded is caching dynamic content in this configuration thanks pascal winxp perl561/modperl126/apache1326
Re: DBI makes apache fail in perl58.dll
The following change fixes that, but now the trace filehandle is not cloned anymore. That means you have to set the trace file in every thread and cannot set it in the parent thread. DBI.xs line 223 change from DBIS-logfp = parent_dbis? fp_dup(parent_dbis-logfp,'',0) : PerlIO_stderr(); to DBIS-logfp = parent_dbis PL_ptr_table? fp_dup(parent_dbis-logfp,'',0) : PerlIO_stderr(); Gerald Hi thanks for preceeding answer. I have two others : 1/ is it going to be fixed in a future release of DBI ? 2/ if I don't want to trace DBI can I ignore the trace file in children processes created by modperl ? pascal
Re: DBI make apache fail in perl58.dll
Can you retrieve a backtrace from the core file? The version that I was using before 1.30 (I think it was 1.29) was blowing so badly that it was leaving no stack. this is the only uninformative stack i have, having no debug version. I am trying to build one... PERL58! 280681d9() -- error here access violation DBI! 003970b6() PERL58! 2803f289() PERL58! 2805cf4c() PERL58! 2806b821() PERL58! 2808596f() MOD_PERL! 100018b7() LIBHTTPD! 6ff012a6() pascal
Re: DBI make apache fail in perl58.dll
PERL58! 280681d9() -- error here access violation DBI! 003970b6() PERL58! 2803f289() PERL58! 2805cf4c() PERL58! 2806b821() PERL58! 2808596f() MOD_PERL! 100018b7() LIBHTTPD! 6ff012a6() Hi here is maybe more informative stack trace WARNING: Stack unwind information not available. Following frames may be wrong. perl58!Perl_ptr_table_fetch+0x8 DBI+0x70b6 perl58!Perl_sv_compile_2op+0x76ca perl58!Perl_runops_standard+0xc perl58!perl_clone_using+0x1eac perl58!perl_clone_host+0x6d mod_perl!modperl_interp_new+0x39 libhttpd!ap_run_post_config+0x36 pascal
Re: DBI make apache fail in perl58.dll
SharedUserData!SystemCallStub+0x4 ntdll!ZwTerminateProcess+0xc kernel32!_ExitProcess+0x57 kernel32!ExitProcess+0x11 msvcrt!__crtExitProcess+0x2f msvcrt!_cinit+0xe4 msvcrt!exit+0xe WARNING: Stack unwind information not available. Following frames may be wrong. perl58!Perl_Tregnarrate_ptr+0x14809d perl58!Perl_Tregnarrate_ptr+0x57255 perl58!Perl_Tregnarrate_ptr+0x56ef8 perl58!Perl_Tregnarrate_ptr+0x13fc84 perl58!Perl_Tregnarrate_ptr+0x13fcd9 perl58!Perl_Tregnarrate_ptr+0xfeb7a perl58!Perl_Tregnarrate_ptr+0xfe465 DBI!XS_DBI__clone_dbis+0x27b DBI!XS_DBI__clone_dbis+0x100 perl58!Perl_Tregnarrate_ptr+0x96df8 perl58!Perl_Tregnarrate_ptr+0x17de8 perl58!Perl_Tregnarrate_ptr+0x52c21 perl58!Perl_Tregnarrate_ptr+0x5237c I am affraid it's the best I can do, it's very hard to compile debug on win32 I have seemingly compiled perl58 DEBUG (there was a complain about missing vc60.pdb, and I supplied one I found ) I cannot compile debug either modperl1-99_04 either _05 against my debug perl. so I just copied from perl/site/lib everything concerning modperl into the perldebug site/lib tree (don't know if this is liable) I also properly installed DBI-1.30 in the perldebug site/lib tree then I ran apache in windbg and got this stacktrace also here is the last loading modules sequence inside apache ModLoad: 6fbf 6fbf6000 C:\Apache2\modules\mod_userdir.so ModLoad: 2800 281a3000 C:\perld\bin\perl58.dll ModLoad: 1000 1001 C:\Apache2\modules\mod_perl.so ModLoad: 71a9 71a98000 C:\WINDOWS\System32\wshtcpip.dll ModLoad: 0036 00383000 C:\perld\site\lib\auto\DBI\DBI.dll ModLoad: 0039 00399000 C:\perld\site\lib\auto\Apache\RequestRec\RequestRec.dll ModLoad: 003a 003a6000 C:\perld\site\lib\auto\Apache\RequestIO\RequestIO.dll ModLoad: 003b 003b8000 C:\perld\site\lib\auto\ModPerl\Const\Const.dll ModLoad: 003c 003c5000 C:\perld\site\lib\auto\Apache\Const\Const.dll --error at this point since it is past DBI.dll , maybe this is because I copied incompatible modperl to perld site/lib tree. hope this can help pascal
[modperl-2.0] unresolved external on win32 when compiling
Hi when compiling modperl 1.99_05 (from today cvs) with MP_DEBUG=1 there is un unresolved external RequestIO.obj : unresolved external symbol _times RequestIO.dll fatal LNK error this is with perl 5.8.0 compiled with DEBUG flag win XP MSVC6 best regards pascal PS modperl-1.99_04 downloaded from perl.apache.org shows this error (with same compiling configuration) mod_perl.c(519) : error ap_register_output_filter different types formal and actual parameters 3 mod_perl.c (523): error ap_register_input_filter too fewactual parameters
Re: [modperl-2.0] unresolved external on win32 when compiling
Hi when compiling modperl 1.99_05 (from today cvs) with MP_DEBUG=1 first error : modperl_xsinit.lo : fatal error : incompatible pdb format in c:\modperl-2.0\src\modules\perl\vc60.pdb ; delete and rebuild I don't know what the delete and rebuild means. after I delete the vc60.pdb file mentionned above, and retype nmake compilation continues without debugging information and hangs on this second error i mentioned before : there is un unresolved external RequestIO.obj : unresolved external symbol _times RequestIO.dll fatal LNK error this is with perl 5.8.0 compiled with DEBUG flag win XP MSVC6 Apache 2.0.40 pascal
Re: DBI make apache fail in perl58.dll
I find that too ... Gerald, a little while ago, mentioned in a message to the dev list that latter DBIs work only if they come into play after the perl interpreter has been cloned - perhaps this is related to problems with using DBI in a startup script? - same from a registry script This I don't find - pulling in DBI and DBD::mysql in a registry script seems to work OK in some simple mysql queries. For this libmySQL.dll has to be in the PATH, which I often forget ... ok from a registry script, it works for me too. but with the lastest snapshot apache 2.0.40/modperl 1.99_05 DBI or any module using DBI loaded in the startup.pl makes apache segfault. doesn't it sounds like a real limitation ? best regards pascal
Re: DBI make apache fail in perl58.dll
same here. segfault in startup.pl. not sure what version it was, but 1.30 installed DBI 1.30. no more segfault. segfault for me on win XP with DBI 1.30 if DBI is used in the startup.pl (apache 2.0.40 modperl 1.99_05 perl 5.8) I reinstalled DBI 1.30 from CPAN just in case, installs and tests ok, but the same error occurs on apache (in perl58.dll.) if module used in startup.pl and no error if use DBI from a registry script (PerlResponseHandler ModPerl::Registry) best regards pascal
DBI make apache fail in perl58.dll
Hi the following startup.pl makes apache segfault in perl58.dll on windows XP(or 2000) version are : apache 2.0.40-dev perl 5.8.0 modperl 1.99 mysqld-nt 3.23.49 DBI 1.30 DBD::Mysql 2.1017 from perl 5.8-win32-bin.tar.gz ready-to-use RK archive (date 25/07/02) in theoryx5.uwinnipeg.ca/public/other here is the startup (only added lines after #added, everything works fine without): use Apache2 ();use ModPerl::Util ();use Apache::RequestRec ();use Apache::RequestIO ();use Apache::RequestUtil ();use Apache::Server ();use Apache::ServerUtil ();use Apache::Connection ();use Apache::Log ();use Apache::Const -compile = ':common';use APR::Const -compile = ':common';use APR::Table ();use Apache::compat ();use ModPerl::Registry ();use CGI (); #added use DBI();use DBD::Mysql();1; - apache fails the same if use DBI() line alone or use DBD::Mysql() line alone - same from a registry script use DBI();use DBD::Mysql(); does not fail from a regularly perl script outside apache thanks pascal
[2.x] test fails on win32 version 1.99_02
hi on win2k, perl 5.6.1, apache 2.036 i can successfully comile mod_perl-1.99_02 just released with as many flags as desired for instance MP_DEBUG now works but nmake test fails to start apache. with 2.0.36 there is a segfault and with 2.0.37-dev (last cvs) a transferlog directive not understood by the server (which prevents to start) here is results : after this log line is displayed [info] base server + 5 vhosts ready to run tests END in mod_perl_extra.pl, pid=2224 there is a segfault unhandled exception in perl56.dll PERL56! 28018443() PERL56! 280584a2() PERL56! 280587cb() PERL56! 28053778() and t/logs/error_log is blank thanks pascal 2. Used Components and their Configuration: *** using lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_AP_PREFIX= c:\ap2036 MP_GENERATE_XS = 1 MP_INST_APACHE2 = 1 MP_LIBNAME = mod_perl MP_USE_DSO = 1 MP_USE_STATIC = 1 *** c:\ap2036/bin/Apache.exe -V Server version: Apache/2.0.36 Server built: May 7 2002 17:17:14 Server's Module Magic Number: 20020329:1 Architecture: 32-bit 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 HTTPD_ROOT=/apache -D SUEXEC_BIN=/apache/bin/suexec -D DEFAULT_ERRORLOG=logs/error.log -D SERVER_CONFIG_FILE=conf/httpd.conf *** C:\Perl\bin\perl.exe -V Summary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', optimize='-O1 -MD -DNDEBUG', cppflags='-DWIN32' ccversion='', 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='off_t', lseeksize=4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags '-nologo -nodefaultlib -release -libpath:C:\Perl\lib\CORE -machine:x86' libpth=C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib C:\Program Files\Microsoft Visual Studio\VC98\lib C:\Perl\lib\CORE 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 wsock32.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 wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', ddlflags='-dll -nologo -nodefaultlib -release -libpath:C:\Perl\lib\CORE -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 631 Built under MSWin32 Compiled at Jan 2 2002 17:16:22 %ENV: PERL_LWP_USE_HTTP_10=1 INC: C:/Perl/lib C:/Perl/site/lib .
Re: please help me.
hi but what is the problem ? if you are running normal cgi script, then the first line of the file script called must contain #!path_path_to_perl and this is just a comment to remind you in httpd.conf : # Apache parses all CGI scripts for the shebang line by default. # This comment line, the first line of the script, consists of the symbols # pound (#) and exclamation (!) followed by the path of the program that # can execute this specific script. For a perl script, with perl.exe in # the C:\Program Files\Perl directory, the shebang line should be: #!F:/Perl/bin/perl.exe if you are running modperl there should a loadmodule perlmodule... somewhere pascal - Original Message - From: Tran Van Quan [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, June 03, 2002 10:54 AM Subject: please help me. Dear Mr/Mrs. Please help me I have trouble with perl configuration in apache config file (httpd.conf) I had install ActivePerl-5.6.1.631-MSWin32-x86 and my computer's win2k. Please help me how to config in order I can run perl page. Your help will be appreciated. Thanks you very much. ps: please look at my config file.
Re: [2.x] test fails on win32 version 1.99_02
ok to try with perl 5.8.0 but i have many modules installed with ppm from http://theoryx5.uwinnipeg.ca/ppmpackages and those of activestate perl. I am able to install ppm package to a perl 5.8.0 i compile myself , without activestate ppm ? for instance modules that rely on a binary library like XML::LibXML or XML::Parser, and that don't install on win32 with usual perl makefile.pl etc thanks pascal - Original Message - From: Randy Kobes [EMAIL PROTECTED] To: pascal barbedor [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Monday, June 03, 2002 5:15 PM Subject: Re: [2.x] test fails on win32 version 1.99_02 On Mon, 3 Jun 2002, pascal barbedor wrote: on win2k, perl 5.6.1, apache 2.036 i can successfully comile mod_perl-1.99_02 just released with as many flags as desired for instance MP_DEBUG now works but nmake test fails to start apache. with 2.0.36 there is a segfault and with 2.0.37-dev (last cvs) a transferlog directive not understood by the server (which prevents to start) I was having troubles too on Win32 with mod_perl-2 and perl-5.6.1 of late, which seems to be fixed in perl-5.8-tobe. Maybe trying that helps? best regards, randy kobes
Re: [2.x] test fails on win32 version 1.99_02
I have been trying 5.8RC1 and I tried to compile/install several modules that I have on 5.6.1 - CPAN, not PPM. At least the following do not build and/or test right (not exhaustive, as I got tired after a while): TK # C error Archive::Tar # in getting file handles from zlib PPM # depends on the above MLDBM# de/serilized structures do not compare on tests Devel::TraceLoad # ?? Module::Info # Serious? Win32::API # Serious? C diagnostic libxml-perl # Fails test XML-RSS # contains XML::RSS.3 in man, unpack fails - builds otherwise. Other related modules build e.g.: XML:Parse builds/test Compress::Zlib builds/test (after some pain...) Posted in the hope it may help somebody... Cheers, alf as mentioned in the 580 announce, every module based on xs have to recompile the xs . so it is hopeless to install a 561 module based on xs in 580 (for example win32::API) running nmake test with 580 (to test modperl-1.99_02) asks for win32::process in INC this is in libperlwin32 and it requires win32::API. then I don't see how to test 1.99_02 with perl 580 ... cheers pascal
[modperl2] XML::LibXML crashes apache
Hi ! with last modperl2 passing almost all test ok on win32, i have a problem with XML:LibXLML -8-- Start Bug Report 8--1. Problem Description: [XML-LibXML 1.40 (from RK ppd) crashes apache 2.0.36 or 2.0.37-dev] this file (below) run with "perl file" is ok and output ok. the same one used from startup.pl, or registry script output ok but also crashes apache immediately after output for 2.0.36, after some seconds for 2.0.37-dev file:-package Produits; print "content-type:text/plain\n\n";use warnings;use strict; use Data::Dumper ;use XML::LibXML();our %C ;my $base='c:/path'; %C=(promod=XML::LibXML-new-parse_file("$base/promod.xsl"),); print Dumper %C ; 1;--- 2. Used Components and their Configuration: *** using lib/Apache/BuildConfig.pm*** Makefile.PL options: MP_AP_PREFIX = c:\ap2036 MP_GENERATE_XS = 1 MP_INST_APACHE2 = 1 MP_LIBNAME = mod_perl MP_USE_DSO = 1 *** c:\ap2036/bin/Apache.exe -VServer version: Apache/2.0.36Server built: May 7 2002 17:17:14Server's Module Magic Number: 20020329:1Architecture: 32-bitServer 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 HTTPD_ROOT="/apache"-D SUEXEC_BIN="/apache/bin/suexec"-D DEFAULT_ERRORLOG="logs/error.log"-D SERVER_CONFIG_FILE="conf/httpd.conf" *** C:\Perl\bin\perl.exe -VSummary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', optimize='-O1 -MD -DNDEBUG', cppflags='-DWIN32' ccversion='', 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='off_t', lseeksize=4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86' libpth="C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib" "C:\Program Files\Microsoft Visual Studio\VC98\lib" "C:\Perl\lib\CORE" 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 wsock32.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 wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 631 Built under MSWin32 Compiled at Jan 2 2002 17:16:22 %ENV: PERL_LWP_USE_HTTP_10="1" @INC: C:/Perl/lib C:/Perl/site/lib . 3. This is the core dump trace: (if you get a core dump):with 2.0.36unhandled exception in MSCVRT.DLLMSVCRT! 780011ce()PERL56! 28071244()PERL56! 2805c5b1()PERL56! 2805c577()PERL56! 2805c577()PERL56! 2805c870()PERL56! 2805ba24()PERL56! 2800c882()PERL56! 2805c7f3()PERL56! 2805ba24()PERL56! 2800c882()PERL56! 2805b9fd()PERL56! 2800c882()PERL56! 2805b9fd()PERL56! 2800c882()PERL56! 2805b9fd()PERL56! 2800c882()PERL56! 2805c248()PERL56! 2805d510()PERL56! 2805d16f()MOD_PERL! 10001fc3()MOD_PERL! 10002a32()MOD_PERL! 10001840()MOD_PERL! 10001796()ap_run_post_config(apr_pool_t * 0x0078a1e0, apr_pool_t * 0x007ba510, apr_pool_t * 0x007bc548, server_rec * 0x007a2478) line 130 + 89 bytesmain(int 3, const char * const * 0x007826f0) line 579 + 22 bytesmainCRTStartup() line 338 + 17 bytesKERNEL32! 77e77903() with 2.0.37-dev PERL56! 28073f60()PERL56! 28074f56() This report was generated by t/report on Sun May 12 15:26:12 2002 GMT. -8-- End Bug Report --8--
Re: mod_perl2: nmake test crashes apache
By running restricted test suites, I found out that the culprit appears to hide somewhere in compat2.t, i.e the sequence: perl -Mblib t\test t/apache/compat2.t t/apache/conftree.t wedges, whereas: perl -Mblib t\test t/apache/cgihandler.t t/apache/compat.t t/apache/conftree.t perl -Mblib t\test t/apache/cgihandler.t t/apache/conftree.t perl -Mblib t\test t/apache/compat.t t/apache/conftree.t are clean. (But note that for instance: perl -Mblib t\test t/apache/compat2.t t/apache/post.t also works. Combinatorial explosion, anyone?) [...] My test output is exactly the same as yours down to the memory addresses in the segfault dialog box. From hints in the above mentioned thread, looks like people running XP are experiencing fewer or different problems in the test suite. Hi about combinatorial I think not only compat2 is involved here in test suites I have ran on win2k (i have the same problem mentionned) with apache 2.035 or 2.036 modeperl.1.99-02-dev here is a resume of previous post with perl t/test dirtest : dirtest=api: api/access :ok api/aplog : apache segfault dirtest=apr apr/base34 :ok apr/constants : ok apr/date apache segfault dirtest=apache apache/cgihandler : ok apache/compat: ok apache/compat2:ok apache/conftree : apache segfault dirtest=directive directive/env failed 1-3, 4 ok directive/prelmodule : ok directive/perlrequire : ok directive/setupenv : apache segfault dirtest=filter all tests succesfull dirtest=hooks hooks/access : ok hooks/authen : ok 2/4 and 3 segfault dirtest=modperl modperl/dirconfig : failed tests 6-12 failed 7/12 tests (this reminds me my previous post about dir_config not working) and apache segfaults dirtest=protocol protocol/echo ok protocol/filter ok protocol/eliza skipped dirtest=module modules/cgi ok 2/5 and apache segfaults... - also running tests with perl t\test -start-httpd perl -Mblib t\test t/apache/conftree.t perl -Mblib t\test t/apache/compat2.t segfaults at compat2 perl t\test -start-httpd perl -Mblib t\test t/apache/conftree.t perl -Mblib t\test t/apache/compat.t segfaults at compat perl t\test -start-httpd perl -Mblib t\test t/apache/write.t perl -Mblib t\test t/apache/compat.t perl -Mblib t\test t/apache/compat2.t perl -Mblib t\test t/apache/conftree.t segfault at conftree perl t\test -start-httpd perl -Mblib t\test t/apache/compat.t perl -Mblib t\test t/apache/conftree.t perl -Mblib t\test t/apache/compat2.t segfault at compat2 perl t\test -start-httpd perl -Mblib t\test t/apache/compat2.t perl -Mblib t\test t/apache/conftree.t segfault at conftree --- also all test run individually perl t/test some_test_alone pass EXCEPT : modules/cgi produces apache segfault modperl/dir_config fails with message : error examine t\logs\error_log, which log says the well known error with dir_config : [Mon May 06 21:38:18 2002] [error] [client 62.147.163.25] Attempt to free unreferenced scalar at C:\modperl-2.0\t\response/TestModperl/dir_config.pm line 71. best regards pascal
Re: Pb with Win32 Installation
On Thu, 2 May 2002, Jean-Marc Paulin wrote: Hi there, I have downloaded the CSV Image file modperl-2.0_20020502042105.tar.gz and tried to compile it for Apache 2.0.35. The build is ok (or looks good anyway) but Apache dies during the nmake test. [ .. ] apache\cgihandlerok apache\compatok apache\compat2...ok apache\conftree..FAILED before any test output arrived As you're using the cvs mod_perl sources, it's probably a good idea to also use the Apache cvs sources, to keep in sync with changes. The above problem with apache\conftree doesn't occur for me with the current cvs apache-2.0.37-dev. best regards, randy kobes Hi I have the same problem : contree test fails and apache segfaults, even with the latest cvs. apache 2.0.37-dev modperl 1.99_02-dev win2k perl 561 see below the report log. pascal barbedor -8-- Start Bug Report 8-- 1. Problem Description: nmake is ok nmake test fails at conftree test : apache.exe segfaults note : i cannot build modperl2 debug on win2k the DEBUG options fails 2. Used Components and their Configuration: *** using lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_AP_PREFIX= c:/back MP_GENERATE_XS = 1 MP_INST_APACHE2 = 1 MP_LIBNAME = mod_perl MP_USE_DSO = 1 *** c:/back/bin/Apache.exe -V Server version: Apache/2.0.37-dev Server built: May 6 2002 09:39:35 Server's Module Magic Number: 20020329:1 Architecture: 32-bit 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 HTTPD_ROOT=/apache -D SUEXEC_BIN=/apache/bin/suexec -D DEFAULT_ERRORLOG=logs/error.log -D SERVER_CONFIG_FILE=conf/httpd.conf *** C:\Perl\bin\perl.exe -V Summary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', optimize='-O1 -MD -DNDEBUG', cppflags='-DWIN32' ccversion='', 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='off_t', lseeksize=4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags '-nologo -nodefaultlib -release -libpath:C:\Perl\lib\CORE -machine:x86' libpth=C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib C:\Program Files\Microsoft Visual Studio\VC98\lib C:\Perl\lib\CORE 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 wsock32.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 wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', ddlflags='-dll -nologo -nodefaultlib -release -libpath:C:\Perl\lib\CORE -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 631 Built under MSWin32 Compiled at Jan 2 2002 17:16:22 %ENV: PERL_LWP_USE_HTTP_10=1 @INC: C:/Perl/lib C:/Perl/site/lib . 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 Mon May 6 07:58:08 2002 GMT. -8-- End Bug Report --8-- Note: Complete the rest of the details and post this bug report to dev at perl.apache.org. To subscribe to the list send an empty email to [EMAIL PROTECTED]
Re: Pb with Win32 Installation
- Original Message - From: Randy Kobes [EMAIL PROTECTED] To: pascal barbedor [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Monday, May 06, 2002 4:03 PM Subject: Re: Pb with Win32 Installation On Mon, 6 May 2002, pascal barbedor wrote: I have the same problem : contree test fails and apache segfaults, even with the latest cvs. apache 2.0.37-dev modperl 1.99_02-dev win2k perl 561 That's wierd - I have the same set-up, except using WinXP, and this test passes ... What happens if you remove t/conf/httpd.conf (so as to regenerate it) before running the tests - are things any different? best regards, randy alas no. things are the same. error message is memory cant be read from perl56.dll here is a complete report of first test in each directory that fails and produces segfault (with perl t/test dirtest) : dirtest=api: api/access :ok api/aplog : apache segfault dirtest=apr apr/base34 :ok apr/constants : ok apr/date apache segfault dirtest=apache apache/cgihandler : ok apache/compat: ok apache/compat2:ok apache/conftree : apache segfault dirtest=directive directive/env failed 1-3, 4 ok directive/prelmodule : ok directive/perlrequire : ok directive/setupenv : apache segfault dirtest=filter all tests succesfull dirtest=hooks hooks/access : ok hooks/authen : ok 2/4 and 3 segfault dirtest=modperl modperl/dirconfig : failed tests 6-12 failed 7/12 tests (this reminds me my previous post about dir_config not working) and apache segfaults dirtest=protocol protocol/echo ok protocol/filter ok protocol/eliza skipped dirtest=module modules/cgi ok 2/5 and apache segfaults... it would be good if there was a possibility to build modperl2 debug on win32... personnaly I would love to be able to report bugs with complete source backtrace and all that stuff required to make it funny to track bugs ! best regards pascal
Re: Pb with Win32 Installation
For those that segfault, does running them individually: perl -Mblib t/TEST t/apache/conftree.t etc. also segfault? best regards, randy also running tests with perl t\test -start-httpd perl -Mblib t\test t/apache/conftree.t perl -Mblib t\test t/apache/compat2.t segfaults at compat2 perl t\test -start-httpd perl -Mblib t\test t/apache/conftree.t perl -Mblib t\test t/apache/compat.t segfaults at compat perl t\test -start-httpd perl -Mblib t\test t/apache/write.t perl -Mblib t\test t/apache/compat.t perl -Mblib t\test t/apache/compat2.t perl -Mblib t\test t/apache/conftree.t segfault at conftree perl t\test -start-httpd perl -Mblib t\test t/apache/compat.t perl -Mblib t\test t/apache/conftree.t perl -Mblib t\test t/apache/compat2.t segfault at compat2 perl t\test -start-httpd perl -Mblib t\test t/apache/compat2.t perl -Mblib t\test t/apache/conftree.t segfault at conftree if this is of any help... best regards pascal
Fw: How do I determine end of request? (mod_perl 2.0)
- Original Message - From: pascal barbedor [EMAIL PROTECTED] To: Douglas Younger [EMAIL PROTECTED] Sent: Monday, May 06, 2002 11:31 PM Subject: Re: How do I determine end of request? (mod_perl 2.0) hi you could maybe set the ProxyIOBufferSize or Proxyreceivebuffersize in the front end server so that response from modperl server would not be chunked but one shot also static ressources like gif in server B documents could be retrieved from server A only with an alias not proxied to server B pascal - Original Message - From: Douglas Younger [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, May 06, 2002 10:26 PM Subject: How do I determine end of request? (mod_perl 2.0) Hello, I'm fairly new to using mod_perl. I've been able to find lots of resources dealing with mod_perl 1.x, but the documentation for 2.0 is rather sparse. I'm pretty sure what I need to do can only be handled by Apache 2.0 thus I'm forced to use mod_perl 2.0... (well 1.99) I'm trying to proxy ServerB through ServerA... ok that's simple enough with mod_proxy. However, links, embedded images, etc in the proxied document end up broken if they are non-relative links (ie. start with a slash). Example: on ServerB is a document say: /sales/products.html in products.html it links to /images/logo.gif accessing /sales/products.html using ServerB everything is fine. But, if I want to proxy ServerB via ServerA... say ProxyPass /EXTERNAL http://ServerB If I goto http://ServerA/EXTERNAL/sales/products.html the embedded image /images/logo.gif is requested from ServerA. So to handle this I wanted to write a filer for ServerA to parse all pages served via Location /EXTERNAL and fix the links. I wrote a handler (see below) using HTML::Parser to extract the tags that would contain links and process them. It works great for the most part... however, it seems like instead of ServerA getting the entire output from ServerB, it gets it in chunks which get processed individually. This causes my handler to fail when a tag is split between 2 chunks. What I think needs to be done is to build up the document in a variable $html .= $buffer; and then call the $p-$parse($html) once the entire document has been received by ServerA (or maybe as simple of only calling $p-eof; at that point). Or is there a better way to do this? One problem I've found so far is I need to fix style sheets, but I can probably write a special handler for them once I get this problem fixed. Thanks! ## package RewriteLinks; use strict; use Apache::Filter; use Apache::RequestUtil; use APR::Table; use HTML::Parser; my %ReplaceAttrs = ( a = 'href', img = 'src', link = 'href', td= 'background', form = 'action' ); my $filter; sub handler { $filter = shift; ### Create parser object ### my $p = HTML::Parser-new( api_version = 3 ); $p-handler(start = \do_tags, 'tagname, attr, text' ); $p-handler(default = \default, 'text'); while ($filter-read(my $buffer, 32678)) { $p-parse($buffer); } $p-eof; # signal end of document 1; } sub do_tags { my ($tagname, $attr, $text) = @_; ## only need to modify tags with url-like attributes starting with a slash if ($$attr{$ReplaceAttrs{$tagname}} =~ m|^/|) { my $TAG = . uc($tagname); foreach my $key (keys %$attr) { $TAG .= ' ' . uc($key) . '='; if ($key eq $ReplaceAttrs{$tagname}) { $TAG .= '/EXTERNAL'; } $TAG .= $$attr{$key} . ''; } $TAG .= \n; $filter-print($TAG); } else { $filter-print($text); } } sub default { my ($text) = @_; $filter-print($text); } 1;
Re: PerlRequire -mod_perl-2 - Apache 2.0.35
Hello Friends, I am a newbie and had developed a proof-of-concept application on Apache 1.3.23/Mod_Perl-1.26-dev. We are researching into moving away from ASP/IIS Webapplications to Apache/Mod_Perl. I am stuck with the latest Apache 2.0.35 with the following problems. Today I installed Apache 2.0.35 with Mod_Perl-2. However, I am not able to use PerlRequire Statement in the httpd.conf. Whenever I am trying to restart my Windows Services, it is always giving me an error message which does not allow me to start my Windows Services. Hi for me on winnt, apache 2.0.35 could be installed but once refused to start as a service too. and this was because it was necessary to explicitely specify a drive letter for serverroot and documentroot (etc. maybe) in the httpd.conf whereas apache doc say if you do not, it will prepend the drive letter of the apache.exe pascal
Re: Apache::ServerUtil pb in modperl2
apache 2.0.35 / mod_perl 1.99_01 / winnt or win2k I confirm that using a module in startup.pl consisting of use Data::Dumper ; use XML::LibXML() ; [1] use Apache::ServerUtil ; [2] my $s=Apache-server ; [3] my $base=$s-dir_config('some'); [4] my $xml=XML::LibXML-new(); [5] print Dumper $xml ; causes the line [3] to output message Attempt to free unreferenced scalar line [4] causes apache segfaults unhandled exception perl56.dll (XML::LibXML in version 1.31 or 1.40) line [5] is executed before apache stops $VAR1 = bless( {}, 'XML::LibXML' ); here is a backtrace in case useful PERL56! 28021683() PERL56! 28071c17() PERL56! 2805c910() PERL56! 2805c5b1() PERL56! 2805c577() PERL56! 2805c577() PERL56! 2805c870() PERL56! 2805ba24() PERL56! 2800c882() PERL56! 2805c7f3() PERL56! 2805ba24() PERL56! 2800c882() PERL56! 2805b9fd() PERL56! 2800c882() PERL56! 2805b9fd() PERL56! 2800c882() PERL56! 2805b9fd() PERL56! 2800c882() PERL56! 2805c248() PERL56! 2805d510() PERL56! 2805d16f() MOD_PERL! 10001fb3() MOD_PERL! 10002a22() MOD_PERL! 10001840() MOD_PERL! 10001796() ap_run_post_config(apr_pool_t * 0x0078a830, apr_pool_t * 0x007ba660, apr_pool_t * 0x007bc6a8, server_rec * 0x007a2508) line 130 + 89 bytes main(int 1, const char * const * 0x00782760) line 569 + 22 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77e77903() if I drop line [4] and [5], there is the line [3] message, but apache does not seem to segfault. pascal Accédez au courrier électronique de La Poste : www.laposte.net ; 3615 LAPOSTENET (0,13 ?/mn) ; tél : 08 92 68 13 50 (0,34?/mn)
Re: mod_perl 1.99 (for Apache 2.0.35) building on W2K
Hi chuck for DBI and DBD::xx it makes no difference if you use them with regular cgi modperl 1 or 2 because they are unrelated to web environment. (at least i suppose so a priori). at least in my test they are used without problem in startup.pl. for cgi.pm used outside modpelr with 2.0.35 no difference as well and for cgi.pm used with modperl I don't know. i guess there is a difference, at leastin the Apache::registry setup of the location to use the cgi like script pascal - Original Message - From: Chuck Goehring To: pascal barbedor Sent: Saturday, April 13, 2002 5:11 AM Subject: Re: mod_perl 1.99 (for Apache 2.0.35) building on W2K Pascal and anyone else who can help, I've seen your other posts and I'm wondering how your testing is going with "regular" cgi programs. I don't use any of the exotic mod_perl specifics, so I'm no help there. I'll have to "aquire" more facilities to setup like you have (nt boxes in short supply). I'm mostly concerned about the cgi.pm, dbi.pm dbd::oracle etc. Anybody know the impact that Apache 2.0 has on these modules? Chuck - Original Message ----- From: pascal barbedor To: Chuck Goehring Sent: Thursday, April 11, 2002 4:40 AM Subject: Re: mod_perl 1.99 (for Apache 2.0.35) building on W2K Hi I am trying to build modperl under win2k saw your message. don't know about your problem but : i use already built asperl build 631 I havebuilt apache succesfully, but when trying to build modperl2 i am asked apxs did you find the apxs program ? thanks pascal barbedor
Re: Apache::ServerUtil pb in modperl2
Does the following, or some variation, work? == package Apache::Test; # PerlModule Apache::Test # Location /hello-world # SetHandler modperl # PerlResponseHandler Apache::Test # PerlSetVar TEST jdjdsds # /Location use strict; # based on t/conf/modperl_extra.pl in the mod_perl-2 sources use Apache::RequestRec (); use Apache::RequestIO (); use Apache::ServerUtil (); use Apache::RequestUtil (); use APR::Table; use Apache::Const -compile = qw(:common); use APR::Const -compile = qw(:common); sub handler { my $r = shift; my $key = $r-dir_config-get('TEST'); $r-content_type('text/plain'); $r-print($key); Apache::OK; } 1; === best regards, randy kobes yes it works perfectly well. but you are accessing dir_config through a request object and in my example I am accessing it through the server object in a use module in startup.pl best regards pascal
Apache::ServerUtil pb in modperl2
Hi thanks for preceeding answer I had missed this doc. I have a problem with Apache::ServerUtil though : when using $s-dir_config('some') i have this message (and apache segfaults) : Attempt to free unreferenced scalar at .. line 17 i have installed modperl through ppd, so have not the t/report procedure i am under win2k ppd from theoryx5, ASperl build 631 for now the only lines in httpd.conf concerning modperl are perlsetvar statpath path perlrequire startup.pl then, in startup.pl : use Apache2; use Apache::ServerUtil(); use Apache::Const(); use Mymodule(); -- in Mymodule.pm use Apache::ServerUtil; my $s=Apache-server; [and the incriminated line 17: ] my $base=$s-dir_config('StatPath'); pascal
Re:Apache::ServerUtil pb in modperl2
How I built it on Win32, after building and installing httpd-2 to C:\Apache2, is perl Makefile.PL MP_AP_PREFIX=C:\Apache2 MP_GENERATE_XS=1 nmake nmake install On Win32 there were some problems for me in running the tests via 'nmake test'; some Apache2 modules needed to be added to be loaded early on in the generated httpd.conf, and the path to mime.types got mangled. I'll work on getting a patch for this. Even after this fix, 'nmake test' hung after about t/apache/post.t, although running it manually as, eg, perl -Mblib t/TEST t/apache/post.t worked, in this particular case. best regards, randy thanks for the tip. I build apache 2.0.35 with debug I build modperl2 (1.99_01) with : perl Makefile.PL MP_AP_PREFIX=g:\Apache2 MP_INST_APACHE2=1 nmake nmake install all builds ok nmake test : cgihandler ok compat ok compat2 ok conftree HANGS, then I stop with CTRL-C and there is an unhandled exception cannot continue the tests perl -Mblib t/TEST t/apache/conftree.t run manually says ok others picked randomly say ok (perlrequire.t for instance) when testing my own modules, I still have the error attempt to free unreferenced scalar at line 17 [L17] my $base=$s-dir_config('some'); this correspond to a perl message p923 camel book. there is no more apache segfault so i cannot give a backtrace (anyway how to doit with vc6 ?) in httpd.conf I just have: perlsetvar some thing perlrequire startup.pl and nothing more. in startup.pl: use Apache2; use Apache::ServerUtil(); use Mymodule; and it is Mymodule line 17 which causes the error message best regards pascal
Apache-server in modperl2
Hi I have installed apache 2.0.35 and modperl2 ppd from theoryx5 repository I am under win2k I am trying to move my modules under modperl2 I am running into a first problem I used to use Apache-server-dir_config('some') but this does not work anymore does anyone know the replacement ? here is my httpd.conf perlrequire startup.pl and in startup.pl use Apache2; use ... a bunch of modules. in modperl1 I had use Apache () ; but it is not found anymore thanks pascal
Re: modperl 1.31 PDF pb
ok thanks for precision it worked with lwp download but not with winzip after that, but with winrar just to mention i normally download any archive from cpan and unzip without problem anyway... going to the guide now - Original Message - From: Sisyphus To: pascal barbedor ; [EMAIL PROTECTED] Sent: Saturday, November 17, 2001 10:39 AM Subject: Re: modperl 1.31 PDF pb - Original Message - From: pascal barbedor To: [EMAIL PROTECTED] Sent: Saturday, November 17, 2001 4:49 AM Subject: modperl 1.31 PDF pb Hi I have problem trying to download the pdf version of the guide. several downloads always results in incorrect zip impossible to decompress. i already noticed this problem with former version of the guide. has anyone succesfully downloaded and uncompressed the pdf file ?* I am on win thanks pascal Had a similar problem (also on win) with another zip containing pdf docs, so I used LWP::Simple to download it. WinZip was then able to unzip it without any problems. (Remember to 'binmode FILEHANDLE;' when copying the zip to your hard drive.) Seems that my problem, at least, was a Windows thing, as someone else has already suggested. Hard to believe, isn't it :-) Cheers, Rob
modperl 1.31 PDF pb
Hi I have problem trying to download the pdf version of the guide. several downloads always results in incorrect zip impossible to decompress. i already noticed this problem with former version of the guide. has anyone succesfully downloaded and uncompressed the pdf file ?* I am on win thanks pascal
Re: piece of code in mod_perl guide
- Original Message - From: Stas Bekman [EMAIL PROTECTED] To: pascal barbedor [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Sent: Sunday, October 07, 2001 2:22 PM Subject: Re: piece of code in mod_perl guide I have located that if i change $MODIFIED{$file} = -M _; to an explicit $MODIFIED{$file} = -M $file; That's weird. _ uses the cached stat's output from the last stat call. Does this work for you? perl -e '-s /etc/passwd; print -M _' yes it works, but the piece of code in mod_perl guide does not work, on my specific config.pm, I don't understand why. see below, the code, the output of the code, the config file . In fact, it looks like when I try it on any other file that my config file, it works. or it works on my config file with the explicit -M $file instead of -M _. If you can find any explanation... pascal barbedor code run : -- -- print -s 'l:/config.pm',\n, -M _,\n; for (1..10){ reread_conf(l:/config.pm) } our %MODIFIED; sub reread_conf{ my $file=shift; return unless $file; return unless -e $file and -r _; if ($MODIFIED{$file} and $MODIFIED{$file}== -M _){ print same } else { print different } print \n; unless ($MODIFIED{$file} and $MODIFIED{$file}== -M _){ unless (my $result = do $file){ print lecture\n; warn lecture de $file impossible: $@ if $@; warn do de $file impossible: $! unless defined $result; warn run de $file impossible unless $result; } print \nmod:,$MODIFIED{$file},' :', -M _,\n; $MODIFIED{$file} = -M _; } } --- output of code (see that the first stat worked and gives an age of very few fraction of days, where reread_conf gives 66 days.) with -M _ last line 983 0.00259259259259259 different mod: : different mod: :67.2868981481481 different mod:67.2868981481481 :67.2868981481481 different mod:67.2868981481481 :67.2868981481481 different mod:67.2868981481481 :67.2868981481481 different mod:67.2868981481481 :67.2868981481481 different mod:67.2868981481481 :67.2868981481481 different mod:67.2868981481481 :67.2868981481481 different mod:67.2868981481481 :67.2868981481481 different mod:67.2868981481481 :67.2868981481481 Bonne exécution du processus - output of code with -M $file last line 983 0.0047337962962963 different mod: : same same same same same same same same same Bonne exécution du processus -- config.pm file package AFPA::Evolif::Config ; use XML::LibXML () ; use XML::LibXSLT () ; use XML::XPath () ; use XML::Simple () ; use DBI () ; my $base='l:/perlinclude'; $CHASH{pconn}-disconnect() if $CHASH{pconn}; our %CHASH = ( indicateurs = XML::LibXML-new-parse_file('l:/perlinclude/indicateurs.xml') , glups = XML::LibXSLT-new-parse_stylesheet (XML::LibXML-new-parse_file(l:/perlinclude/glups.xsl)) , groupes =XML::XPath- new(filename=l:/perlinclude/categories/groupements.xml) , zones =XML::XPath- new(filename=l:/perlinclude/categories/decoupages.xml) , select=XML::LibXSLT-new-parse_stylesheet (XML::LibXML-new-parse_file(l:/perlinclude/evselecteur.xsl)) , pconn=DBI-connect(DBI:mysql:database=evolif;host=localhost, pconn, undef, {RaiseError=1} ) , ) ; #my $stylesheet= # XML::LibXSLT-new-parse_stylesheet (F_GLUP_XML); #print $stylesheet-transform(F_IND_XML); 1 ;
Re: piece of code in mod_perl guide
[ ] config.pm file - package AFPA::Evolif::Config ; use XML::LibXML () ; use XML::LibXSLT () ; use XML::XPath () ; use XML::Simple () ; use DBI () ; [ ... ] Hi, Could it be that XML::XPath does file tests on the file $xmlfile passed to it through XML::XPath-new(filename = $xmlfile) which would cause '_' to use the stat on $xmlfile, rather than the original config file? best regards, randy kobes oh yes, this was the answer ! XML::XPATh-new stats the file. thanks for clearing it out ! then maybe the last line of reread_conf in mod_perl guide should be modified to $MODIFIED{$file} = -M $file; in case the do ( ) loads something which can possibily stat file. pascal barbedor sub reread_conf{ my $file=shift; return unless $file; return unless -e $file and -r _; unless ($MODIFIED{$file} and $MODIFIED{$file}== -M _){ unless (my $result = do $file){ print lecture\n; warn lecture de $file impossible: $@ if $@; warn do de $file impossible: $! unless defined $result; warn run de $file impossible unless $result; } $MODIFIED{$file} = -M _ } }
piece of code in mod_perl guide
hello, I am reading mod_perl guide and i had a problem with a piece of code in chapter 9.7.4.2 about reloading configuration files. this is version jan 2001 but i have checked in the last one the piece of code is the same. when running the code exactly, things don't work, even outside mod_perl environnment. the sub below print file is different even though I don't change the file. I have located that if i change$MODIFIED{$file} = -M _; to an explicit$MODIFIED{$file} = -M $file; in the last line, everything works fine. since i do no test on any other file and I have understood that _ account s for the last file tested, I don't understand why it does work. I am on NT4 perl 5.6.1 try it yourself ! so strange ! thanks for any explanation * for (1..10){ reread_conf("l:/asperl/site/lib/afpa/evolif/config.pm"); sleep 2; } our %MODIFIED; sub reread_conf{ my $file=shift; return unless $file; return unless -e $file and -r _; if ($MODIFIED{$file} and $MODIFIED{$file}== -M _){ print "same" ; }else {print "different";} print "\n"; unless ($MODIFIED{$file} and $MODIFIED{$file}== -M _){ unless (my $result = do $file) { warn ... } print "\nmod:",$MODIFIED{$file},' :', -M _,"\n"; $MODIFIED{$file} = -M _; } }