Re: crash in modperl-1.24

2000-09-28 Thread Matt Sergeant

On Thu, 28 Sep 2000, Michael J Schout wrote:

> On Wed, 16 Aug 2000, Matt Sergeant wrote:
> 
> > On Tue, 15 Aug 2000, Mark D. Anderson wrote:
> > 
> > > The problem was the symbol conflict between XML::Parser and apache when
> > > built with expat. This has been apparently known for over a year, but has
> > > still not been fixed last i checked, presumably because it involves 4
> > > different products interacting: apache builds with expat, modperl gets
> > > linked in, then modperl pulls in XML::Parser which pulls in expat again.
> 
> [snip]
> 
> > name!!! Anyway, this is a much larger problem than you expect. Not only is
> > XML::Parser pulling in a custom non-dso expat, but so is PHP, and so is
> > Sablotron (XSLT processor), and so is some TCL module... We need a single
> > DSO expat that is used by everyone, but I don't have the time or resources
> > to fix it... :-(
> 
> This problem has just bitten us as well.  We were building apache with expat,
> and then loading XML::Parser 2.29 in.  Things became unstable very quickly.  As
> a quick fix, we just disabled EXPAT from our apache builds.
> 
> So I guess there is no hope of running any combination of mod_dav, XML::Parser,
> PHP, Sablotron at the same time at this point?  Bummer :).
> 
> I suppose the issue is that expat needs to be maintained and someone needs to
> incorporate all of hte separate patches (e.g. XML::Parser patches expat, I
> assume PHP/Sablotron etc are doing the same)  into a single expat and create a
> shared library?   I may be able to devote some time to this, depending on how
> much merging is involved.  I will try to take a look at it over the next few
> days.

No don't - its being done now. Clark Cooper is running the project over on
source forge. However I know that Clark can be quite slow at times, so
maybe he could do with some help.

-- 


Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org | AxKit: http://axkit.org




Re: crash in modperl-1.24

2000-09-28 Thread Michael J Schout

On Wed, 16 Aug 2000, Matt Sergeant wrote:

> On Tue, 15 Aug 2000, Mark D. Anderson wrote:
> 
> > The problem was the symbol conflict between XML::Parser and apache when
> > built with expat. This has been apparently known for over a year, but has
> > still not been fixed last i checked, presumably because it involves 4
> > different products interacting: apache builds with expat, modperl gets
> > linked in, then modperl pulls in XML::Parser which pulls in expat again.

[snip]

> name!!! Anyway, this is a much larger problem than you expect. Not only is
> XML::Parser pulling in a custom non-dso expat, but so is PHP, and so is
> Sablotron (XSLT processor), and so is some TCL module... We need a single
> DSO expat that is used by everyone, but I don't have the time or resources
> to fix it... :-(

This problem has just bitten us as well.  We were building apache with expat,
and then loading XML::Parser 2.29 in.  Things became unstable very quickly.  As
a quick fix, we just disabled EXPAT from our apache builds.

So I guess there is no hope of running any combination of mod_dav, XML::Parser,
PHP, Sablotron at the same time at this point?  Bummer :).

I suppose the issue is that expat needs to be maintained and someone needs to
incorporate all of hte separate patches (e.g. XML::Parser patches expat, I
assume PHP/Sablotron etc are doing the same)  into a single expat and create a
shared library?   I may be able to devote some time to this, depending on how
much merging is involved.  I will try to take a look at it over the next few
days.

Mike




Re: crash in modperl-1.24

2000-08-16 Thread Matt Sergeant

On Tue, 15 Aug 2000, Mark D. Anderson wrote:

> (not sure whose email got delayed since i posted this question some time ago --
> thanks for the tip though on how to get more meaningful modperl crash info).
> 
> The problem was the symbol conflict between XML::Parser and apache when built
> with expat. This has been apparently known for over a year, but has still not been
> fixed last i checked, presumably because it involves 4 different products 
>interacting:
> apache builds with expat, modperl gets linked in, then modperl pulls in XML::Parser
> which pulls in expat again.
> 
> I rebuilt apache disabling expat and all was fine.
> 
> This is so common a configuration (apache, modperl, and XML::Parser), i have
> to assume that the only reason there is not rioting in the streets is because
> perhaps it only happens the way i built it (apache statically linking modperl).

I'm rioting, I'm rioting... But I don't have quite enough time to devote
to it... And I wanted to register the domain name 4expat.org to try and
sort this out but my ISP wants £100 a year to do dns on an extra domain
name!!! Anyway, this is a much larger problem than you expect. Not only is
XML::Parser pulling in a custom non-dso expat, but so is PHP, and so is
Sablotron (XSLT processor), and so is some TCL module... We need a single
DSO expat that is used by everyone, but I don't have the time or resources
to fix it... :-(

-- 


Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org | AxKit: http://axkit.org




Re: crash in modperl-1.24

2000-08-15 Thread Mark D. Anderson

(not sure whose email got delayed since i posted this question some time ago --
thanks for the tip though on how to get more meaningful modperl crash info).

The problem was the symbol conflict between XML::Parser and apache when built
with expat. This has been apparently known for over a year, but has still not been
fixed last i checked, presumably because it involves 4 different products interacting:
apache builds with expat, modperl gets linked in, then modperl pulls in XML::Parser
which pulls in expat again.

I rebuilt apache disabling expat and all was fine.

This is so common a configuration (apache, modperl, and XML::Parser), i have
to assume that the only reason there is not rioting in the streets is because
perhaps it only happens the way i built it (apache statically linking modperl).

-mda





Re: crash in modperl-1.24

2000-08-15 Thread Doug MacEachern

On Mon, 10 Jul 2000, Mark D. Anderson wrote:

> environment: linux redhat 2.2.12-20, modperl 1.24, apache 1.3.12
> 
> i've tried it with both perl 5.6 and with 5.005-03.
> in both cases, i get a segv crash almost immediately the first time i issue
> a request for a url using a perl handler (static file handling is fine).
> 
> below are the stack traces for the two perl versions, when run with -X .
> any suggestions for fixes or workarounds are very appreciated.
> (maybe building without EVERYTHING=1? who knows)

if you could do this:

% gdb httpd
(gdb) source mod_perl-x.xx/.gdbinit
(gdb) run -X
[make a request that core dumps]
(gdb) curinfo

should print the Perl filename:linenumber, posting a code window around
that area might shed some light.




Re: crash in modperl-1.24

2000-07-10 Thread Mark D. Anderson

btw, i am using XML::Parser (2.29), and i've heard various rumors of a potential 
conflict
with mod_perl ? but i am using the latest version of everything...

-mda





crash in modperl-1.24

2000-07-10 Thread Mark D. Anderson

environment: linux redhat 2.2.12-20, modperl 1.24, apache 1.3.12

i've tried it with both perl 5.6 and with 5.005-03.
in both cases, i get a segv crash almost immediately the first time i issue
a request for a url using a perl handler (static file handling is fine).

below are the stack traces for the two perl versions, when run with -X .
any suggestions for fixes or workarounds are very appreciated.
(maybe building without EVERYTHING=1? who knows)

-mda

0x8123195 in Perl_sv_setsv ()
(gdb) whe
#0  0x8123195 in Perl_sv_setsv ()
#1  0x811a333 in Perl_pp_sassign ()
#2  0x8119fbd in Perl_runops_standard ()
#3  0x80e2055 in S_call_body ()
#4  0x80e1e1e in perl_call_sv ()
#5  0x807ebbb in perl_call_handler (sv=0x8329db8, r=0x85360bc, args=0x0)
at mod_perl.c:1643
#6  0x807e3cb in perl_run_stacked_handlers (hook=0x815cbf9 "PerlHandler",
r=0x85360bc, handlers=0x832a04c) at mod_perl.c:1362
#7  0x807c99d in perl_handler (r=0x85360bc) at mod_perl.c:905
#8  0x8098eb3 in ap_invoke_handler (r=0x85360bc) at http_config.c:508
#9  0x80ac479 in process_request_internal (r=0x85360bc) at http_request.c:1215
#10 0x80ac4dc in ap_process_request (r=0x85360bc) at http_request.c:1231
#11 0x80a3dbe in child_main (child_num_arg=0) at http_main.c:4177
#12 0x80a3f4c in make_child (s=0x8192bbc, slot=0, now=963211804)
at http_main.c:4281
#13 0x80a40a9 in startup_children (number_to_start=5) at http_main.c:4363
#14 0x80a46d6 in standalone_main (argc=6, argv=0xbbf4) at http_main.c:4651
#15 0x80a4e63 in main (argc=6, argv=0xbbf4) at http_main.c:4978
(gdb) 

Program received signal SIGSEGV, Segmentation fault.
0x8102050 in Perl_pp_rv2hv ()
(gdb) whe
#0  0x8102050 in Perl_pp_rv2hv ()
#1  0x812f25d in Perl_runops_standard ()
#2  0x811b5bb in sortcv ()
#3  0x811f8cf in qsortsv ()
#4  0x8119e66 in Perl_pp_sort ()
#5  0x812f25d in Perl_runops_standard ()
#6  0x80d76a1 in perl_call_sv ()
#7  0x807ca6b in perl_call_handler (sv=0x81f3850, r=0x84dce6c, args=0x0)
at mod_perl.c:1643
#8  0x807c27b in perl_run_stacked_handlers (hook=0x8134b19 "PerlHandler",
r=0x84dce6c, handlers=0x84c192c) at mod_perl.c:1362
#9  0x807a7fd in perl_handler (r=0x84dce6c) at mod_perl.c:905
#10 0x8095983 in ap_invoke_handler (r=0x84dce6c) at http_config.c:508
#11 0x80a8e69 in process_request_internal (r=0x84dce6c) at http_request.c:1215
#12 0x80a8ecc in ap_process_request (r=0x84dce6c) at http_request.c:1231
#13 0x80a07ae in child_main (child_num_arg=0) at http_main.c:4177
#14 0x80a093c in make_child (s=0x816a9ec, slot=0, now=963213899)
at http_main.c:4281
#15 0x80a0a99 in startup_children (number_to_start=5) at http_main.c:4363
#16 0x80a10c6 in standalone_main (argc=6, argv=0xbbf4) at http_main.c:4651
#17 0x80a1853 in main (argc=6, argv=0xbbf4) at http_main.c:4978