Marc Slagle wrote:
After serving up requests normally for some time, we get the following
line in our error_log:

[Mon Nov 10 13:44:31 2003] [notice] child pid 24121 exit signal
Segmentation fault (11)

There aren't any other entries in the error log for the requests.  We
think that this is happening during the normal termination of the child
process (after serving MaxRequestsPerChild requests, or exceeding
GTopLimit limits).  The segfaults were happening before we added the
GTopLimit configuration.

[...]


A backtrace when the segfault occurs:
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
This GDB was configured as "i386-redhat-linux-gnu"...
(gdb) run -X -f /usr/skynet/conf/httpd.conf
Starting program: /usr/skynet/bin/httpd -X -f
/usr/skynet/conf/httpd.conf
Program received signal SIGSEGV, Segmentation fault.
0x0807698b in hvrv2table (rv=0x0) at perl_util.c:101
101 return (table *)SvIV((SV*)SvRV(rv));
(gdb) bt
#0 0x0807698b in hvrv2table (rv=0x0) at perl_util.c:101
#1 0x08088995 in XS_Apache__Table_DESTROY (cv=0x81ae5dc) at Table.c:149

Thanks for the detailed report, Marc


Please try this patch:

Index: src/modules/perl/Table.xs
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/Table.xs,v
retrieving revision 1.10
diff -u -r1.10 Table.xs
--- src/modules/perl/Table.xs   23 May 2000 15:56:12 -0000      1.10
+++ src/modules/perl/Table.xs   10 Nov 2003 19:46:55 -0000
@@ -114,9 +114,10 @@
     Apache__Table tab;

     CODE:
-    tab = (Apache__Table)hvrv2table(self);
-    if(SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV)
+    if(SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV) {
+        tab = (Apache__Table)hvrv2table(self);
         safefree(tab);
+    }

 void
 FETCH(self, key)


__________________________________________________________________ Stas Bekman JAm_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


-- Reporting bugs: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html



Reply via email to