[mp2] mod_perl2 + XML::LibXML = OK ?
Hi, Are there any problems using XML::LibXML and XML::LibXSLT with mod_perl 2 (perl 5.8)? (everything is the latest versions as grabbed from Randy's site ;) win32). My primary concern is thread-safety (is XML::LibXML thread-safe?), but anything I should be aware about would be nice to know. Thanks, -Kurt. __ kurt george gjerde [EMAIL PROTECTED] intermedia uib, university of bergen I don't work here.
Re: [MP2] bug report startup and XML::LibXML
Hi ! and as suggested : LIBXML2.DLL VERSION 2.4.26 XML::LibXML version 1.52 I've tested with libxml2-2.4.23 and XML::LibXML 1.53 on linux and it works just fine. I tested it with libxml2-2.4.23 and XML::LibXML 1.52 and it still segfaults. this looks suspicious as address: 0xabababab, as you have traced it. So it could be a bug in the ActiveState's perl or is it a standard one? it is perl 58 cpan source I have rebuilt all myself debug but the bug also happens with asperl 58 here is more precicion, I have followed the trace starting with perl_croak : segfault Perl_sv_setpvn(interpreter * 0x00e7f024, sv * 0xabababab, Perl_sv_vsetpvfn(interpreter * 0x00e7f024, sv * 0xabababab, Perl_vmess(interpreter * 0x00e7f024, const char * 0x2818fac0 Perl_vcroak(interpreter * 0x00e7f024, const char * 0x2818fac Perl_croak(interpreter * 0x00e7f024, const char * 0x2818fac0 `string') --- in perl_croak Perl_croak(interpreter * 0x00e1a024, const char * 0x2818fac0 `string') line 1350 + 17 bytes [...] void Perl_croak(pTHX_ const char *pat, ...) { va_list args; va_start(args, pat); vcroak(pat, args); LINE CALLED /* NOTREACHED */ va_end(args); } [...] variable state: + args 0x0006efe4 + args0x0006eff8 p + pat 0x2818fac0 Bizarre SvTYPE [%ld] in perl_vcroak Perl_vcroak(interpreter * 0x00e1a024, const char * 0x2818fac0 `string', char * * 0x0006efe4) line 1241 + 17 bytes void Perl_vcroak(pTHX_ const char* pat, va_list *args) { char *message; HV *stash; GV *gv; CV *cv; SV *msv; STRLEN msglen; if (pat) { msv = vmess(pat, args); LINE CALLED pat and args unchanged if (PL_errors SvCUR(PL_errors)) { sv_catsv(PL_errors, msv); message = SvPV(PL_errors, msglen); SvCUR_set(PL_errors, 0); } else in perl_vmess Perl_vmess(interpreter * 0x00e7f024, const char * 0x2818fac0 `string', char * * 0x0006efe4) line 1096 [...] Perl_vmess(pTHX_ const char *pat, va_list *args) { (***)SV *sv = mess_alloc(); static char dgd[] = during global destruction.\n; COP *cop; sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null (bool*)); if (!SvCUR(sv) || *(SvEND(sv) - 1) != '\n') { /* [...] ( *** )sv is set to point to 0xabababab at this point of program so maybe the mess_alloc() function has failed in some way inside mess_alloc(): STATIC SV * S_mess_alloc(pTHX) { 1SV *sv; 2XPVMG *any; 3if (!PL_dirty) return sv_2mortal(newSVpvn(,0)); 4if (PL_mess_sv) return PL_mess_sv; /* Create as PVMG now, to avoid any upgrading later */ New(905, sv, 1, SV); Newz(905, any, 1, XPVMG); SvFLAGS(sv) = SVt_PVMG; SvANY(sv) = (void*)any; SvREFCNT(sv) = 1 30; /* practically infinite */ PL_mess_sv = sv; return sv; } at line 1 sv gets the following value : - sv 0x00e7f470 sv_any 0xabababab sv_refcnt 2880154539 sv_flags2880154539 function is exited by line 4 PL_mess_sv but I dont see its value anywhere hope this is clear thanks 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: [MP2] bug report startup and XML::LibXML
[EMAIL PROTECTED] wrote: Hi ! and as suggested : LIBXML2.DLL VERSION 2.4.26 XML::LibXML version 1.52 I've tested with libxml2-2.4.23 and XML::LibXML 1.53 on linux and it works just fine. I tested it with libxml2-2.4.23 and XML::LibXML 1.52 and it still segfaults. I can't reproduce the problem, and just looking at the source doesn't click anything. May be try posting your research to p5p? __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
[MP2] bug report startup and XML::LibXML
Hi here is a revised complete report bug Hi on SERVER_SOFTWARE: Apache/2.0.44 (Win32) mod_perl/1.99_08-dev Perl/v5.8.0 and as suggested : LIBXML2.DLL VERSION 2.4.26 XML::LibXML version 1.52 everything rebuild debug test code --- use testxml(); (in startup.pl) testxml --- package testxml; use strict; use warnings; use XML::LibXML(); my $base='c:/apache2/mason'; our $promod= XML::LibXML-new-parse_string(?xml version=\1.0\? doc/doc); print tostring: ,$promod-toString ; 1; problem is output ok but apache segfault --- here is a complete debug trace (this one is certified exact) --- source in perl5.8.0\sv.c line 4020 [...] void Perl_sv_setpvn(pTHX_ register SV *sv, register const char *ptr, register STRLEN len) { register char *dptr; SV_CHECK_THINKFIRST(sv); line that makes the segfault if (!ptr) { (void)SvOK_off(sv); return; } [...] -- variables values *dptr 0 len 0 ptr 0 sv (cannot be evaluated) stack trace Perl_sv_setpvn(interpreter * 0x00d84344, sv * 0xabababab, const char * 0x28194f90 `string', unsigned int 0) line 4020 + 3 bytes Perl_sv_vsetpvfn(interpreter * 0x00d84344, sv * 0xabababab, const char * 0x2818fac0 `string', unsigned int 20, char * * 0x0006efe4, sv * * 0x, long 0, char * 0x) line 7629 + 20 bytes Perl_vmess(interpreter * 0x00d84344, const char * 0x2818fac0 `string', char * * 0x0006efe4) line 1096 + 40 bytes Perl_vcroak(interpreter * 0x00d84344, const char * 0x2818fac0 `string', char * * 0x0006efe4) line 1241 + 17 bytes Perl_croak(interpreter * 0x00d84344, const char * 0x2818fac0 `string') line 1350 + 17 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x0006f6e8, clone_params * 0x0006fdf0) line 9297 + 26 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x009133e8, clone_params * 0x0006fdf0) line 9203 + 34 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x00906c8c, clone_params * 0x0006fdf0) line 9199 + 34 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x00906ca4, clone_params * 0x0006fdf0) line 9199 + 34 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x00906c68, clone_params * 0x0006fdf0) line 9283 + 22 bytes Perl_gp_dup(interpreter * 0x00d84344, gp * 0x008fba94, clone_params * 0x0006fdf0) line 8698 + 20 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x008f8614, clone_params * 0x0006fdf0) line 9142 + 22 bytes Perl_he_dup(interpreter * 0x00d84344, he * 0x008e62d8, char 1, clone_params * 0x0006fdf0) line 118 + 20 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x0023fb5c, clone_params * 0x0006fdf0) line 9233 + 43 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x008c813c, clone_params * 0x0006fdf0) line 9140 + 22 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x008c4950, clone_params * 0x0006fdf0) line 9199 + 34 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x008c4968, clone_params * 0x0006fdf0) line 9199 + 34 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x008c4944, clone_params * 0x0006fdf0) line 9283 + 22 bytes Perl_gp_dup(interpreter * 0x00d84344, gp * 0x008cd49c, clone_params * 0x0006fdf0) line 8698 + 20 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x008c4980, clone_params * 0x0006fdf0) line 9142 + 22 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x0092ba80, clone_params * 0x0006fdf0) line 9199 + 34 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x0092bb04, clone_params * 0x0006fdf0) line 9199 + 34 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x0092ba8c, clone_params * 0x0006fdf0) line 9283 + 22 bytes Perl_gp_dup(interpreter * 0x00d84344, gp * 0x00930114, clone_params * 0x0006fdf0) line 8698 + 20 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x0092baf8, clone_params * 0x0006fdf0) line 9142 + 22 bytes Perl_he_dup(interpreter * 0x00d84344, he * 0x0091cdf4, char 1, clone_params * 0x0006fdf0) line 118 + 20 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x00847d40, clone_params * 0x0006fdf0) line 9233 + 43 bytes Perl_gp_dup(interpreter * 0x00d84344, gp * 0x0084bad4, clone_params * 0x0006fdf0) line 8696 + 20 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x00843c8c, clone_params * 0x0006fdf0) line 9142 + 22 bytes Perl_he_dup(interpreter * 0x00d84344, he * 0x008488e4, char 1, clone_params * 0x0006fdf0) line 118 + 20 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x00843c80, clone_params * 0x0006fdf0) line 9233 + 43 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x00a45c18, clone_params * 0x0006fdf0) line 9140 + 22 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x00a45c30, clone_params * 0x0006fdf0) line 9274 + 22 bytes Perl_gp_dup(interpreter * 0x00d84344
Re: [MP2] bug report startup and XML::LibXML
[EMAIL PROTECTED] wrote: Hi here is a revised complete report bug and as suggested : LIBXML2.DLL VERSION 2.4.26 XML::LibXML version 1.52 I've tested with libxml2-2.4.23 and XML::LibXML 1.53 on linux and it works just fine. [...] output ok but apache segfault --- here is a complete debug trace (this one is certified exact) --- source in perl5.8.0\sv.c line 4020 [...] void Perl_sv_setpvn(pTHX_ register SV *sv, register const char *ptr, register STRLEN len) { register char *dptr; SV_CHECK_THINKFIRST(sv); line that makes the segfault if (!ptr) { (void)SvOK_off(sv); return; } [...] Perl_sv_setpvn(interpreter * 0x00d84344, sv * 0xabababab, const char * 0x28194f90 `string', unsigned int 0) line 4020 + 3 bytes Perl_sv_vsetpvfn(interpreter * 0x00d84344, sv * 0xabababab, this looks suspicious as address: 0xabababab, as you have traced it. So it could be a bug in the ActiveState's perl or is it a standard one? const char * 0x2818fac0 `string', unsigned int 20, char * * 0x0006efe4, sv * * 0x, long 0, char * 0x) line 7629 + 20 bytes Perl_vmess(interpreter * 0x00d84344, const char * 0x2818fac0 `string', char * * 0x0006efe4) line 1096 + 40 bytes Perl_vcroak(interpreter * 0x00d84344, const char * 0x2818fac0 `string', char * * 0x0006efe4) line 1241 + 17 bytes Perl_croak(interpreter * 0x00d84344, const char * 0x2818fac0 `string') line 1350 + 17 bytes Perl_sv_dup(interpreter * 0x00d84344, sv * 0x0006f6e8, clone_params * 0x0006fdf0) line 9297 + 26 bytes Though the good thing is that it happens on croak (something went wrong). So perhaps you can check why does it happen in first place. I'd at the above frame. __ Stas BekmanJAm_pH -- Just Another mod_perl Hacker http://stason.org/ mod_perl Guide --- http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
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.
Re: [ MP2] startup problem with XML::LibXML
On Sun, 26 Jan 2003, pascal barbedor wrote: 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.tlist of failed 11-12 if I nmake install nevertheless , apache startup problem remains. I also found XML::LibXML had problems on Win32 against libxml2-2.5.1. 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. [ ... ] I found that libxml2-2.4.26 worked OK with XML::LibXML's tests, but not latter versions (eg, 2.4.30). Christian Glahn, in a recent post on the perl-xml mailing list, also saw such problems, so it's not a Windows specific thing. I just tried making up a static XML::LibXML/XML::LibXSLT, to see if that would help any, but this still causes problems when used in a startup file. -- best regards, randy
[ 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
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.
[MP2] pb with modperl and XML::LibXML
Hi on SERVER_SOFTWARE: Apache/2.0.43 (Win32) mod_perl/1.99_08-dev Perl/v5.8.0 PHP/4.3.0 having installed the latest XML::LibXML from http://theoryx5.uwinnipeg.ca/ppms and having Loadfile c:/perl/bin/libxml2.dll in httpd.conf I still have the error : - a USED testxml from startup is executed but prevents apache from starting with a segfault (testxml just reads and parse an xml file) - use XML::LibXML() ; use XML::LibXSLT() ; from startup is ok - the use testxml; from modperl / registry/ cgi produces this error log : [Thu Jan 23 10:37:18 2003] [notice] Parent: child process exited with status 3221225477 -- Restarting. [Thu Jan 23 10:37:27 2003] [notice] Parent: Created child process 1256 [Thu Jan 23 10:37:34 2003] [notice] Child 1256: Child process is running [Thu Jan 23 10:37:34 2003] [notice] Child 1256: Acquired the start mutex. [Thu Jan 23 10:37:35 2003] [notice] Child 1256: Starting 25 worker threads. after which the script is served normally (but with a long apache resarting delay), then normally served a couple of times, then again the apache restart (maybe after child process dies normally) - perl testxml.pm is ok. thanks pascal barbedor 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:[MP2] pb with modperl and XML::LibXML
Hi on SERVER_SOFTWARE: Apache/2.0.43 (Win32) mod_perl/1.99_08-dev Perl/v5.8.0 PHP/4.3.0 having installed the latest XML::LibXML from http://theoryx5.uwinnipeg.ca/ppms and having Loadfile c:/perl/bin/libxml2.dll in httpd.conf I still have the error : in any case, here is the call stack and debug output WARNING: Stack unwind information not available. Following frames may be wrong. perl58!Perl_my_failure_exit+0x14f perl58!Perl_croak+0x19 perl58!Perl_sv_dup+0xb71 perl58!Perl_sv_dup+0x77a perl58!Perl_sv_dup+0x73c perl58!Perl_sv_dup+0x73c perl58!Perl_sv_dup+0xaa1 perl58!Perl_gp_dup+0x108 perl58!Perl_sv_dup+0x44b perl58!Perl_he_dup+0xbe perl58!Perl_sv_dup+0x8ad perl58!Perl_sv_dup+0x9cb perl58!Perl_gp_dup+0x108 perl58!Perl_sv_dup+0x44b perl58!Perl_he_dup+0xbe perl58!Perl_sv_dup+0x8ad perl58!Perl_gp_dup+0xda perl58!Perl_sv_dup+0x44b perl58!Perl_he_dup+0xbe perl58!Perl_sv_dup+0x8ad and the debug output CommandLine: C:\Apache2\bin\Apache.exe Symbol search path is: SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols; Executable search path is: ModLoad: 0040 00405000 image0040 ModLoad: 7846 784e1000 ntdll.dll ModLoad: 6ee0 6ee1e000 C:\Apache2\bin\libapr.dll ModLoad: 77e7 77f2c000 C:\WINNT\system32\KERNEL32.dll ModLoad: 77da 77dfb000 C:\WINNT\system32\ADVAPI32.dll ModLoad: 770c 77131000 C:\WINNT\system32\RPCRT4.dll ModLoad: 74fb 74fc3000 C:\WINNT\System32\WS2_32.dll ModLoad: 7800 78046000 C:\WINNT\system32\MSVCRT.DLL ModLoad: 74fa 74fa8000 C:\WINNT\System32\WS2HELP.DLL ModLoad: 74f7 74f83000 C:\WINNT\System32\MSWSOCK.dll ModLoad: 77e0 77e5f000 C:\WINNT\system32\USER32.DLL ModLoad: 77f4 77f79000 C:\WINNT\system32\GDI32.dll ModLoad: 7797 77994000 C:\WINNT\System32\DNSAPI.DLL ModLoad: 74fd 74fd9000 C:\WINNT\System32\WSOCK32.dll ModLoad: 06ed 06ef6000 C:\Apache2\bin\libaprutil.dll ModLoad: 6ff0 6ff41000 C:\Apache2\bin\libhttpd.dll (4dc.4d4): Break instruction exception - code 8003 (first chance) eax= ebx=00071f04 ecx=0009 edx= esi=7ffdf000 edi=00071f70 eip=78477704 esp=0006f984 ebp=0006fc98 iopl=0 nv up ei pl nz na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs= efl=0202 ntdll!DbgBreakPoint: 78477704 cc int 3 0:000 g ModLoad: 7758 777cb000 C:\WINNT\system32\shell32.dll ModLoad: 70bd 70c34000 C:\WINNT\system32\SHLWAPI.dll ModLoad: 7178 7180a000 C:\WINNT\system32\COMCTL32.dll ModLoad: 6fcf 6fcf6000 C:\Apache2\modules\mod_access.so ModLoad: 6fce 6fce6000 C:\Apache2\modules\mod_actions.so ModLoad: 6fcd 6fcd6000 C:\Apache2\modules\mod_alias.so ModLoad: 6fcc 6fcc6000 C:\Apache2\modules\mod_asis.so ModLoad: 6fcb 6fcb6000 C:\Apache2\modules\mod_auth.so ModLoad: 6fca 6fca8000 C:\Apache2\modules\mod_autoindex.so ModLoad: 6fc9 6fc97000 C:\Apache2\modules\mod_cgi.so ModLoad: 6fc8 6fc86000 C:\Apache2\modules\mod_dir.so ModLoad: 6fc7 6fc76000 C:\Apache2\modules\mod_env.so ModLoad: 6fc6 6fc67000 C:\Apache2\modules\mod_imap.so ModLoad: 6fc5 6fc5a000 C:\Apache2\modules\mod_include.so ModLoad: 6fc4 6fc48000 C:\Apache2\modules\mod_isapi.so ModLoad: 6fc3 6fc37000 C:\Apache2 \modules\mod_log_config.so ModLoad: 6fc2 6fc27000 C:\Apache2\modules\mod_mime.so ModLoad: 6fc1 6fc19000 C:\Apache2 \modules\mod_negotiation.so ModLoad: 6fc0 6fc06000 C:\Apache2\modules\mod_setenvif.so ModLoad: 6fbf 6fbf6000 C:\Apache2\modules\mod_userdir.so ModLoad: 2800 280bc000 C:\Perl\bin\perl58.dll ModLoad: 1000 10019000 C:\Apache2\modules\mod_perl.so ModLoad: 0083 00968000 C:\Apache2\bin\php4ts.dll ModLoad: 77a4 77b35000 C:\WINNT\system32\ole32.dll ModLoad: 779a 77a3b000 C:\WINNT\system32\OLEAUT32.dll ModLoad: 1f7f 1f825000 C:\WINNT\System32\ODBC32.dll ModLoad: 76b0 76b3d000 C:\WINNT\system32\comdlg32.dll ModLoad: 1f8e 1f8f6000 C:\WINNT\System32\odbcint.dll ModLoad: 00e8 00e86000 C:\Apache2\modules\php4apache2.dll ModLoad: 00e9 00fe4000 C:\Perl\bin\libxml2.dll ModLoad: 74f5 74f6d000 C:\WINNT\system32\msafd.dll ModLoad: 74f9 74f97000 C:\WINNT\System32\wshtcpip.dll ModLoad: 011f 011f5000 C:\Perl\site\lib\Apache2 \auto\ModPerl\Util\Util.dll ModLoad: 0120 0120b000 C:\Perl\site\lib\Apache2 \auto\Apache\RequestRec\RequestRec.dll ModLoad: 0121 01217000 C:\Perl\site\lib\Apache2 \auto\Apache\RequestIO\RequestIO.dll ModLoad: 0122 01227000 C:\Perl\site\lib\Apache2 \auto\Apache\RequestUtil\RequestUtil.dll ModLoad: 0123 01237000 C:\Perl\site\lib\Apache2 \auto\Apache\Server\Server.dll ModLoad: 0124 01246000 C:\Perl\site\lib\Apache2 \auto\Apache\ServerUtil\ServerUtil.dll ModLoad: 0125 01257000 C:\Perl\site\lib
XML-LibXML-Common in perl 58 repository at theoryx5.
Hi when trying to ppm install XML::LibXML::Common from http://theoryx5.uwinnipeg.ca/ppms, the new perl58 repository, I have this error : error, read a ppd but it is not intended for this build of perl (mswin32-x86-multi-thread) I have active state perl58 installed and successfully installed other modules from this repository. best regards 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: XML-LibXML-Common in perl 58 repository at theoryx5.
On Mon, 2 Dec 2002, [iso-8859-1] [EMAIL PROTECTED] wrote: Hi when trying to ppm install XML::LibXML::Common from http://theoryx5.uwinnipeg.ca/ppms, the new perl58 repository, I have this error : error, read a ppd but it is not intended for this build of perl (mswin32-x86-multi-thread) I have active state perl58 installed and successfully installed other modules from this repository. Sorry about that - the ARCHITECTURE in the .ppd file wasn't set properly, which has now been fixed. This particular package contains a post-install script which installs the needed libxml2.dll - if that doesn't work, grab the accompanying .tar.gz under the x86/ subdirectory which, when unpacked, has this dll. -- best regards, randy
[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--
XML::LibXML
Hi, sorry for this question that is not directly related to mod_perl, rather to perl itself. I use XML::LibXML, that I found on http://www.xml.com, and it matches my needs. Because it might (surely!) be good code structure examples, I had a look at the module. There comes my question : I do not understand how it works. I know (guess?) my answer in somwhere linked with Dynaloader. But I do not find the link between XML::LibXML and libxml2. Do not man have to specify it somewhere? Where is the link between C libs and Perl? How come can calls to undefined methods like $self-_parse_file() (in method XML::LibXML-parse_file()) can be found? Where is the inheritance defined? Well, I have to say that I did not investigate much on Dynaloader. I thing I missed a step before reading perldoc Dynaloader. If somebody has an hint (or an URL?, manpage?) for me starting at understanding this process, I would be grateful ! Thanks, Fred
[OT] Re: XML::LibXML
At 16:58 28/12/01, Fred wrote: I know (guess?) my answer in somwhere linked with Dynaloader. But I do not find the link between XML::LibXML and libxml2. Do not man have to specify it somewhere? Where is the link between C libs and Perl? How come can calls to undefined methods like $self-_parse_file() (in method XML::LibXML-parse_file()) can be found? Where is the inheritance defined? Well, I have to say that I did not investigate much on Dynaloader. I thing I missed a step before reading perldoc Dynaloader. If somebody has an hint (or an URL?, manpage?) for me starting at understanding this process, I would be grateful ! You should read up on XS, the glue mechanism between Perl and C. The book Advanced Perl Programming from O'Reilly has some great chapters on the subject. You might also want to see the perl man pages on XS (perlxstut and perlxs). http://world.std.com/~swmcd/steven/perl/ also has some good information (see XS Mechanics). XS is not vital to program Perl, it's mainly for linking in external X libraries (like XML::LibXML does), and to implement some functions in C for them to be faster. -- Per Einar Ellefsen [EMAIL PROTECTED]
Re: [OT] Re: XML::LibXML
try perldoc XML::LibXML i got this perl module working fine http://drfrog.fdns.net/x3d/ Per Einar wrote: At 16:58 28/12/01, Fred wrote: I know (guess?) my answer in somwhere linked with Dynaloader. But I do not find the link between XML::LibXML and libxml2. Do not man have to specify it somewhere? Where is the link between C libs and Perl? How come can calls to undefined methods like $self-_parse_file() (in method XML::LibXML-parse_file()) can be found? Where is the inheritance defined? Well, I have to say that I did not investigate much on Dynaloader. I thing I missed a step before reading perldoc Dynaloader. If somebody has an hint (or an URL?, manpage?) for me starting at understanding this process, I would be grateful ! You should read up on XS, the glue mechanism between Perl and C. The book Advanced Perl Programming from O'Reilly has some great chapters on the subject. You might also want to see the perl man pages on XS (perlxstut and perlxs). http://world.std.com/~swmcd/steven/perl/ also has some good information (see XS Mechanics). XS is not vital to program Perl, it's mainly for linking in external X libraries (like XML::LibXML does), and to implement some functions in C for them to be faster.