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