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

2000-04-12 Thread remco

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: [EMAIL PROTECTED]  |
\--/

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

2000-04-12 Thread remco

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: [EMAIL PROTECTED]  |
\--/

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

2000-04-11 Thread Ardo van Rangelrooij

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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED], [EMAIL PROTECTED]
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

2000-04-04 Thread Daniel Jacobowitz

[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, [EMAIL PROTECTED] wrote:
 Package: libapache-mod-perl
 Version: 1.21.2309-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=0xbdc4) at http_main.c:4605
#17 0x805d24d in main (argc=2, argv=0xbdc4) 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   |
| [EMAIL PROTECTED] |  |   [EMAIL PROTECTED]  |
\/  \/



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

2000-04-04 Thread Daniel Jacobowitz

Something, presumably XML::Parser::Expat, is corrupting malloc's and
perl's data structures randomly.  Running under MALLOC_CHECK_=2 has a
high probability of showing this.  It also occasionally cores in
Perl_sv_upgrade - the SV is hopelessly mangled:

(gdb) p *sv
$17 = {sv_any = 0x83e58955, sv_refcnt = 2203260140, sv_flags = 821518397}
(gdb) where
#0  0x402a5b95 in Perl_sv_upgrade (sv=0x4029d868, mt=136780768) at sv.c:823
#1  0x402a5810 in Perl_sv_upgrade (sv=0x4029d868, mt=136780768) at sv.c:732
#2  0x4029d93d in Perl_pp_or () at pp_hot.c:235
#3  0x4025c266 in Perl_moreswitches (s=0x81a14a4 "PZ\n\b\001") at perl.c:1641
#4  0x4024061e in perl_create_request_config ()
   from /usr/lib/apache/1.3/mod_perl.so
#5  0x4023fcf1 in perl_config_getch () from /usr/lib/apache/1.3/mod_perl.so
#6  0x4023de1f in perl_fixup () from /usr/lib/apache/1.3/mod_perl.so
#7  0x8053e64 in ap_invoke_handler (r=0x8289a7c) at http_config.c:508
#8  0x80625ec in process_request_internal (r=0x8289a7c) at http_request.c:1214
#9  0x8062648 in ap_process_request (r=0x8289a7c) at http_request.c:1230
#10 0x805c439 in child_main (child_num_arg=0) at http_main.c:4122
#11 0x805c5cc in make_child (s=0x8099c2c, slot=0, now=954878307)
at http_main.c:4235
#12 0x805c6e9 in startup_children (number_to_start=5) at http_main.c:4317
#13 0x805cb9b in standalone_main (argc=2, argv=0xbdb4) at http_main.c:4605
#14 0x805d24d in main (argc=2, argv=0xbdb4) at http_main.c:4933



However, I don't think that's a reliable stack trace.  The stack seems damaged.


On Tue, Mar 28, 2000 at 12:50:45PM +0200, [EMAIL PROTECTED] wrote:
 Package: libapache-mod-perl
 Version: 1.21.2309-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):
 
 --- cut here -
 #!/usr/bin/perl -w
 
 use XML::Parser::Expat;
 use strict;
 
 main();
 
 # bug creater under mod_perl, just results in some simple html
 
 sub main()
 {
 my $problemXP = new XML::Parser::Expat;
 $problemXP-setHandlers(Start = \Start, End = \End, Char = \Text);
 print "Content-type: text/html\n\n";
 $problemXP-parse("html\nmeta http-equiv='refresh' content='1'/\nbodysome 
text/body\n/html\n");
 $problemXP-release();
 }
 
 sub Start($$) {
 my $caller = shift;
 my $tag = shift;
 print "" . $tag;
 print " " . $_[0] . "='" . $_[1] . "'" if $#_ ge 1;  # add attributes
 print " " . $_[2] . "='" . $_[3] . "'" if $#_ ge 3;  # add attributes
 print "\n" unless $tag =~ /\s/;
 }
 
 sub End($$) {
 my $caller = shift;
 my $etag = shift;
 print "/" . $etag . "\n" unless $etag =~ /\s/;
 }
 
 sub Text($$) {
 my $caller = shift;
 my $text = shift;
 print $text . "\n" unless $text =~ /\s/;
 }
 --- cut here -
 
 
 I guess this is caused by a memory-leak or a problem related to loading
 Perl *.so (see bug #48069)
 
 Related packages (frozen/potato, 27 march 2000):
 - libapache-mod-perl  1.21.2309-1
 - apache-common   1.3.9-12
 - apache-ssl  1.3.9.10 + 1.37-1
 - libxml-parser-perl  2.27-2
 - perl-5.005  5.005.03-6
 - perl-5.005-base 5.005.03-6
 - libmime-base64-perl 2.11-2
 - libdevel-symdump-perl   2.00-4
 - data-dumper 2.09-1
 - liburi-perl 1.04-2
 - libc6   2.1.3-7
 - libdb2  2.4.14-9
 - libgdbmg1   1.7.3-26.2
 
 kernel 2.2.14 (i586 and i686)
 libc-2.1.3.so
 
 * ( didn't encouter with slink, but i am not sure, used CPAN
 instead of libxml-parser-perl.deb...)
 
 
 
 used configuration:
 
 httpd.conf:
 LoadModule config_log_module /usr/lib/apache/1.3/mod_log_config_ssl.so
 LoadModule mime_module /usr/lib/apache/1.3/mod_mime_ssl.so
 LoadModule negotiation_module /usr/lib/apache/1.3/mod_negotiation.so
 LoadModule status_module /usr/lib/apache/1.3/mod_status.so
 LoadModule includes_module /usr/lib/apache/1.3/mod_include.so
 LoadModule autoindex_module /usr/lib/apache/1.3/mod_autoindex.so
 LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so
 LoadModule cgi_module /usr/lib/apache/1.3/mod_cgi.so
 LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
 LoadModule alias_module /usr/lib/apache/1.3/mod_alias.so
 LoadModule rewrite_module /usr/lib/apache/1.3/mod_rewrite.so
 LoadModule access_module /usr/lib/apache/1.3/mod_access.so
 LoadModule auth_module /usr/lib/apache/1.3/mod_auth_ssl.so
 LoadModule expires_module /usr/lib/apache/1.3/mod_expires.so
 LoadModule unique_id_module /usr/lib/apache/1.3/mod_unique_id.so
 LoadModule setenvif_module /usr/lib/apache/1.3/mod_setenvif.so