Jie Gao wrote:
-------------8<---------- Start Bug Report ------------8<----------

1. Problem Description:

Child exits with seg fault when registry script is accessed.

We need to have a short handler/script that we can reproduce the problem with. If we can't reproduce it, we can't fix it.


Program received signal SIGSEGV, Segmentation fault.
0xfe971904 in modperl_env_request_tie (r=0x793a08) at modperl_env.c:355
355         EnvMgObj = (char *)r;
(gdb) bt
#0  0xfe971904 in modperl_env_request_tie (r=0x793a08) at modperl_env.c:355
#1  0xfe95957c in modperl_response_handler_cgi (r=0x793a08) at mod_perl.c:967

It seems like you've created a closure, and had $r in it. So if you start the server in a single server mode, the first time it's accessed it'll work fine and the second time, it'll try to use $r, from the previous request, which is bogus and that's why you get segfault.


I've seen this before, and I'm not sure we can do anything to prevent this from happening. Make you sure you don't have a closure in your registry code. Please read these two resources:
http://perl.apache.org/docs/2.0/user/coding/coding.html#C_ModPerl__Registry__Handlers_Family
http://perl.apache.org/docs/general/perl_reference/perl_reference.html#my___Scoped_Variable_in_Nested_Subroutines


If I'm wrong, send us a short script that fails.

--
__________________________________________________________________
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

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to