You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Mike McLagan <mm...@invlogic.com> on 2000/06/06 14:34:20 UTC

Segment fault in Perl_pp_leavetry

Hello,

   I am having the above segfault using mod_perl 1.23 and mod_perl 1.24 on a 
RedHat 6.2 system with Perl 5.00503.  The Apache daemon was compiled with max 
DSO and included the mod_ssl patches, etc as shown below.  mod_perl is compiled 
with -DEAPI per it's request.  If I operate without mod_auth_mysql, the server 
is fine.  If I operate without mod_perl, the server is fine but my perl 
programs don't work.
The code for mod_auth_mysql hasn't changed in over a year or more so I am 
inclined to believe that it's not the source of the problem.

[root #] gdb httpd
(gdb) set args -X
(gdb) run
[notice] Apache/1.3.12 (Unix) AuthMySQL/2.20 mod_ssl/2.6.2 OpenSSL/0.9.5 
mod_perl/1.24 configured -- resuming normal operations
Program received signal SIGSEGV, Segmentation fault.
0x40286b78 in Perl_pp_leavetry () from /usr/lib/apache/mod_perl.so
(gdb) bt
#0  0x40286b78 in Perl_pp_leavetry () from /usr/lib/apache/mod_perl.so
#1  0x40204238 in ?? () from /usr/lib/apache/mod_perl.so
#2  0x78756e69 in ?? ()
Cannot access memory at address 0x6c2e6264
(gdb)

   If I can provide more information please let me know how.  If there's any 
good suggestions out there, I'd be most appreciative.

   Michael



Re: Segment fault in Perl_pp_leavetry

Posted by Mike McLagan <mm...@invlogic.com>.
On Fri, 9 Jun 2000 10:28:14 -0700 (PDT), Doug MacEachern wrote:

>try this:
>(gdb) source mod_perl-x.xx/.gdbinit
>(gdb) curinfo
>
>hopefully that will print the filename:line of the code Perl was running
>here.   maybe that will shed some light.  

(gdb) set args -X
(gdb) run
Starting program: /usr/sbin/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x401e2758 in net_write_command () from /usr/lib/apache/mod_auth_mysql.so
(gdb) bt
#0  0x401e2758 in net_write_command () from /usr/lib/apache/mod_auth_mysql.so
#1  0x40341238 in ?? () from /usr/lib/apache/mod_perl.so
#2  0x78756e69 in ?? ()
Cannot access memory at address 0x6c2e6264
(gdb) source /usr/src/redhat/BUILD/mod_perl-1.24/.gdbinit
(gdb) curinfo
Attempt to extract a component of a value that is not a structure pointer.
(gdb) bt
#0  0x401e2758 in net_write_command () from /usr/lib/apache/mod_auth_mysql.so
#1  0x40341238 in ?? () from /usr/lib/apache/mod_perl.so
#2  0x78756e69 in ?? ()
Cannot access memory at address 0x6c2e6264
(gdb)

There is no "net_write_command" call within the mod_auth_mysql code or object 
based on the output of 'strings' and 'grep'.

>do you have these same troubles if mod_perl is linked static?

I don't know.  Building it statically is not a process I'm familiar with.  I've 
been trying to start from a known point -- mod_auth.c and cut back in the code 
for various mod_auth_mysql functions.  I've got a version of mod_auth_mysql.c 
that if I compile in 1 more function, it dies in mod_perl.so when I access a 
mod_perl handled script.  I've messed with structure variables, etc by 
including and excluding items and it comes back to the same thing, touch a 
mod_perl script with too much code in mod_auth_mysql (or even mod_example which 
I was screwing around with) and *BOOM* the server seg faults.

Any help would be greatly appreciated.

   Michael
 




Re: Segment fault in Perl_pp_leavetry

Posted by Doug MacEachern <do...@covalent.net>.
On Tue, 6 Jun 2000, Mike McLagan wrote:

> Hello,
> 
>    I am having the above segfault using mod_perl 1.23 and mod_perl 1.24 on a 
> RedHat 6.2 system with Perl 5.00503.  The Apache daemon was compiled with max 
> DSO and included the mod_ssl patches, etc as shown below.  mod_perl is compiled 
> with -DEAPI per it's request.  If I operate without mod_auth_mysql, the server 
> is fine.  If I operate without mod_perl, the server is fine but my perl 
> programs don't work.
> The code for mod_auth_mysql hasn't changed in over a year or more so I am 
> inclined to believe that it's not the source of the problem.
> 
> [root #] gdb httpd
> (gdb) set args -X
> (gdb) run
> [notice] Apache/1.3.12 (Unix) AuthMySQL/2.20 mod_ssl/2.6.2 OpenSSL/0.9.5 
> mod_perl/1.24 configured -- resuming normal operations
> Program received signal SIGSEGV, Segmentation fault.
> 0x40286b78 in Perl_pp_leavetry () from /usr/lib/apache/mod_perl.so
> (gdb) bt
> #0  0x40286b78 in Perl_pp_leavetry () from /usr/lib/apache/mod_perl.so
> #1  0x40204238 in ?? () from /usr/lib/apache/mod_perl.so
> #2  0x78756e69 in ?? ()
> Cannot access memory at address 0x6c2e6264
> (gdb)

try this:
(gdb) source mod_perl-x.xx/.gdbinit
(gdb) curinfo

hopefully that will print the filename:line of the code Perl was running
here.   maybe that will shed some light.  do you have these same troubles
if mod_perl is linked static?