You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Daniel Jacobowitz <da...@debian.org> on 2000/04/04 21:03:18 UTC

Re: Bug#61231: mod_perl segfaults child-processes in combination with XML::Parser::Expat

[mod_perl people - any comment?  Please keep the Cc: list to the Debian
bug tracking system.]

On Tue, Mar 28, 2000 at 12:50:45PM +0200, remco@ch.twi.tudelft.nl wrote:
> Package: libapache-mod-perl
> Version: 1.21.20000309-1
> Severity: Important
> 
> When using the XML::Parser::Expat under mod_perl, this causes segmentation
> faults (quite random?) in the child-processes of httpd.
> The error message in the error.log of apache is:
> "[notice] child pid 28177 exit signal Segmentation fault (11)"
> 
> This can be repreduced with the following script,
> run under mod_perl, just wait a while, and monitor the error.log (takes a
> while, multiple request will speed up):

It's very random, but I can reproduce this.  However, I can also
reproduce it with apache-perl (statically linked).  It seems extremely
unlikely to me that this is the DSO code's fault, therefore.

Here's a backtrace:


(gdb) bt
#0  0x400f8b59 in free () from /lib/libc.so.6
#1  0x400f89ed in free () from /lib/libc.so.6
#2  0x4026eb7a in Perl_safefree () from /usr/lib/apache/1.3/mod_perl.so
#3  0x4027fcb9 in Perl_sv_setsv () from /usr/lib/apache/1.3/mod_perl.so
#4  0x402782dc in Perl_pp_sassign () from /usr/lib/apache/1.3/mod_perl.so
#5  0x402a8440 in Perl_runops_standard () from /usr/lib/apache/1.3/mod_perl.so
#6  0x4024c0a9 in perl_call_sv () from /usr/lib/apache/1.3/mod_perl.so
#7  0x4023201e in perl_call_handler () from /usr/lib/apache/1.3/mod_perl.so
#8  0x402318cc in perl_run_stacked_handlers ()
   from /usr/lib/apache/1.3/mod_perl.so
#9  0x402302cf in perl_handler () from /usr/lib/apache/1.3/mod_perl.so
#10 0x8053e64 in ap_invoke_handler (r=0x826e23c) at http_config.c:508
#11 0x80625ec in process_request_internal (r=0x826e23c) at http_request.c:1214
#12 0x8062648 in ap_process_request (r=0x826e23c) at http_request.c:1230
#13 0x805c439 in child_main (child_num_arg=0) at http_main.c:4122
#14 0x805c5cc in make_child (s=0x8099c24, slot=0, now=954874778)
    at http_main.c:4235
#15 0x805c6e9 in startup_children (number_to_start=5) at http_main.c:4317
#16 0x805cb9b in standalone_main (argc=2, argv=0xbffffdc4) at http_main.c:4605
#17 0x805d24d in main (argc=2, argv=0xbffffdc4) at http_main.c:4933


Very interesting.  I'll look at this further.



Dan

/--------------------------------\  /--------------------------------\
|       Daniel Jacobowitz        |__|        SCS Class of 2002       |
|   Debian GNU/Linux Developer    __    Carnegie Mellon University   |
|         dan@debian.org         |  |       dmj+@andrew.cmu.edu      |
\--------------------------------/  \--------------------------------/

Re: Bug#61231: mod_perl segfaults child-processes in combination with XML::Parser::Expat

Posted by re...@ch.twi.tudelft.nl.
On Tue, 11 Apr 2000, Ardo van Rangelrooij wrote:

Hi!

> Steve Dunham (thanks!!!)provided a patch which should take care of
> this problem.  I've made a package available as
> 
>   http://master.debian.org/~ardo/libxml-parser-perl_2.27-3_i386.deb
> 
> Please try it out and let me know what's up.  If no problems occur
> I'll upload it to master officially.

After running it several hours, using 3-4 different scripts each 
refreshing every second, the only problem I encountered was an unstable
netscape (when using a refresh of _zero_ seconds :-)
So, I consider the bg fixed and recommend the upload...

> I'll also forward this problem to the man upstream, Clark Cooper.
> 
> Thanks,
> Ardo

Thanks everybody,
Remco Schaar

/----------------------------------------------------------------------\
| Remco Schaar                                                         |
| e-mail: Remco@ch.twi.tudelft.nl                                      |
\----------------------------------------------------------------------/

    South Park meets Linux:
        - "Oh my God, they killed init!"
        - "You bastards!"


Re: Bug#61231: mod_perl segfaults child-processes in combination with XML::Parser::Expat

Posted by re...@ch.twi.tudelft.nl.
On Tue, 11 Apr 2000, Ardo van Rangelrooij wrote:

> Hi!

Hi,

> Steve Dunham (thanks!!!)provided a patch which should take care of
> this problem.  I've made a package available as
> 
>   http://master.debian.org/~ardo/libxml-parser-perl_2.27-3_i386.deb
> 
> Please try it out and let me know what's up.  If no problems occur
> I'll upload it to master officially.

OK, I will run it later today on my machine with the test-script, and then
with the project I'm working on, which is more complex and crashed
much fatser.

> I'll also forward this problem to the man upstream, Clark Cooper.
> 
> Thanks,
> Ardo

I'll let you know...

Thanx,
Remco Schaar

/----------------------------------------------------------------------\
| Remco Schaar                                                         |
| e-mail: Remco@ch.twi.tudelft.nl                                      |
\----------------------------------------------------------------------/

    South Park meets Linux:
        - "Oh my God, they killed init!"
        - "You bastards!"


Re: Bug#61231: mod_perl segfaults child-processes in combination with XML::Parser::Expat

Posted by Ardo van Rangelrooij <ar...@debian.org>.
Hi!

Steve Dunham (thanks!!!)provided a patch which should take care of
this problem.  I've made a package available as

  http://master.debian.org/~ardo/libxml-parser-perl_2.27-3_i386.deb

Please try it out and let me know what's up.  If no problems occur
I'll upload it to master officially.

I'll also forward this problem to the man upstream, Clark Cooper.

Thanks,
Ardo

Daniel Jacobowitz <da...@debian.org> writes:

> reassign 61231 libxml-parser-perl
> thanks
> 
> And sure enough, the man is right.  This is not mod_perl's problem. 
> When I disable RULE_EXPAT, apache ceases crashing.
> 
> 
> On Tue, Apr 04, 2000 at 02:49:36PM -0700, Doug MacEachern wrote:
> > On Tue, 4 Apr 2000, Daniel Jacobowitz wrote:
> > 
> > > [mod_perl people - any comment?  Please keep the Cc: list to the Debian
> > > bug tracking system.]
> >  
> > > > When using the XML::Parser::Expat under mod_perl, this causes segmentation
> > > > faults (quite random?) in the child-processes of httpd.
> > > > The error message in the error.log of apache is:
> > > > "[notice] child pid 28177 exit signal Segmentation fault (11)"
> > 
> > yeah, try configuring Apache with:
> > RULE_EXPAT=no
> > 
> > otherwise, the symbols in XML::Parser clash with apache's.  i've suggested
> > several times that the XML::Parser author should consider making those
> > symbols static or use a different prefix, but no idea if that's happened
> > or not.
-- 
Ardo van Rangelrooij
home email: avrangel@flevonet.nl, ardo@debian.org
home page:  http://home.flevonet.nl/~avrangel
PGP fp:     3B 1F 21 72 00 5C 3A 73  7F 72 DF D9 90 78 47 F9

Re: Bug#61231: mod_perl segfaults child-processes in combination with XML::Parser::Expat

Posted by Daniel Jacobowitz <da...@debian.org>.
reassign 61231 libxml-parser-perl
thanks

And sure enough, the man is right.  This is not mod_perl's problem. 
When I disable RULE_EXPAT, apache ceases crashing.


On Tue, Apr 04, 2000 at 02:49:36PM -0700, Doug MacEachern wrote:
> On Tue, 4 Apr 2000, Daniel Jacobowitz wrote:
> 
> > [mod_perl people - any comment?  Please keep the Cc: list to the Debian
> > bug tracking system.]
>  
> > > When using the XML::Parser::Expat under mod_perl, this causes segmentation
> > > faults (quite random?) in the child-processes of httpd.
> > > The error message in the error.log of apache is:
> > > "[notice] child pid 28177 exit signal Segmentation fault (11)"
> 
> yeah, try configuring Apache with:
> RULE_EXPAT=no
> 
> otherwise, the symbols in XML::Parser clash with apache's.  i've suggested
> several times that the XML::Parser author should consider making those
> symbols static or use a different prefix, but no idea if that's happened
> or not.
> 
> 


Dan

/--------------------------------\  /--------------------------------\
|       Daniel Jacobowitz        |__|        SCS Class of 2002       |
|   Debian GNU/Linux Developer    __    Carnegie Mellon University   |
|         dan@debian.org         |  |       dmj+@andrew.cmu.edu      |
\--------------------------------/  \--------------------------------/

Re: Bug#61231: mod_perl segfaults child-processes in combination with XML::Parser::Expat

Posted by Doug MacEachern <do...@covalent.net>.
On Tue, 4 Apr 2000, Daniel Jacobowitz wrote:

> [mod_perl people - any comment?  Please keep the Cc: list to the Debian
> bug tracking system.]
 
> > When using the XML::Parser::Expat under mod_perl, this causes segmentation
> > faults (quite random?) in the child-processes of httpd.
> > The error message in the error.log of apache is:
> > "[notice] child pid 28177 exit signal Segmentation fault (11)"

yeah, try configuring Apache with:
RULE_EXPAT=no

otherwise, the symbols in XML::Parser clash with apache's.  i've suggested
several times that the XML::Parser author should consider making those
symbols static or use a different prefix, but no idea if that's happened
or not.