On 17/08/09 19:54 , James Smith wrote:
> 
> Futher to this I now have a stack trace if that helps anyone point me in
> the right direction:
> 
> #0  0x00007f17ee936fb1 in strncpy () from /lib/libc.so.6
> #1  0x00007f17e808ecfc in modperl_perl_global_request_save () from
>   /usr/lib/apache2/modules/mod_perl.so

That's hapenning in a fairly simple piece of code:

modperl_perl_global_svpv_save(pTHX_ modperl_perl_global_svpv_t *svpv)
{
    svpv->cur = SvCUR(*svpv->sv);
    strncpy(svpv->pv, SvPVX(*svpv->sv), sizeof(svpv->pv));
}

Looking at this, is there any chance you can get a mod_perl with
debugging symbols running this and post the content of :

*svpv
*(svpv->pv)
*(svpv->sv)

But looking at the guts, the only code path that will invoke this is
when saving/restoring the value of $/...  Can you check to see what part
of your code alters that variable and to what ?

It might point to something interesting.

> #2  0x00007f17e807dabc in modperl_response_handler_cgi () from
>   /usr/lib/apache2/modules/mod_perl.so
> #3  0x00007f17ef7272d3 in ap_run_handler () from /usr/sbin/apache2
> #4  0x00007f17ef72aa6f in ap_invoke_handler () from /usr/sbin/apache2
> #5  0x00007f17ef7385de in ap_process_request () from /usr/sbin/apache2
> #6  0x00007f17ef735418 in ?? () from /usr/sbin/apache2
> #7  0x00007f17ef72eca3 in ap_run_process_connection () from
>   /usr/sbin/apache2
> #8  0x00007f17ef73cf46 in ?? () from /usr/sbin/apache2
> #9  0x00007f17ef73d276 in ?? () from /usr/sbin/apache2
> #10 0x00007f17ef73ddad in ap_mpm_run () from /usr/sbin/apache2
> #11 0x00007f17ef71360d in main () from /usr/sbin/apache2
> 
> 
> On Mon, 17 Aug 2009, James Smith wrote:
> 
>>
>> I have two handlers, one a response handler and a second an output
>> filter.
>> If either of these handlers run then they run fine for any number of
>> requests, if I have both of these handlers I get an untraceable seg fault
>> with the handlers, this segfault happens on the second request to that
>> particular child.
>>
>> If the page is generated from:
>>
>> * the file system,
>> * via mod_php or
>> * mod_rails I don't have a problem
>>
>> If the page content is generated by mod_perl it works perfectly well for
>> the first request - but fails for subsequent requests.
>>
>> [notice] child pid 14475 exit signal Segmentation fault (11)
>>
>> This appears to be before the page handler executes...
>>
>> If I turn off the output filter - everything is OK for all requests.
>>
>> Any suggestions on how I debug this... it makes life so much easier if
>> I can handle all requests this way (and it seems to be the apache way)
>>
>> James
>>
>>
>> -- 
>> The Wellcome Trust Sanger Institute is operated by Genome Research
>> Limited, a charity registered in England with number 1021457 and a
>> company registered in England with number 2742969, whose registered
>> office is 215 Euston Road, London, NW1 2BE.
> 
> 


-- 
Philippe M. Chiasson     GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/       m/gozer\@(apache|cpan|ectoplasm)\.org/

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to