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?