At 11:44 AM -0600 2/15/02, Fister, Mark wrote:
> > Dear mod_perl experts:
>>
>> Collectively, we've been at this for more than two weeks and have searched
>> various mod_perl archives, all to no avail.
>>
>> Symptom:
>> =======
>> SIGSEGV after fork().  Very reproducible.  Memory corruption gets moved
>> around if the codebase changes.
>
>[ SNIP ]
>
>The above is the key: moved around.  Therefore, I need Purify or similar
>tool.  I'm going to have to go this route, since nobody has any ideas.
>Go go gadget purchasing! :(


Are you running any XS stuff created with SWIG?  I had a very similar 
problem some time ago (RH 5.1, I think) with SWIG creating strange XS 
files that corrupted memory when used under mod_perl... There was no 
corruption when running as a perl script or cgi.

I eventually scrapped SWIG (a little too complicated for what I was 
doing) in favor of h2xs.  Just for fun, I tried using it with 
mod_perl and it worked perfectly.

After reviewing it with my father (who's a die hard C guy), he found 
a potential problem with

$var = undef;
call_xs_sub_to_populate($var);

Which might hose undef.

He suggested instead

$var = "\0" x SIZE_OF_POPULATED_DATA;
call_xs_sub_to_populate($var);

Which I never actually tried.

Since I'm not a C guy, I don't really run into too many segfaults. 
Unfortunatly I no longer have the code I was testing this with or I'd 
give it another shot...

Hope that helps some...

Rob





--
When I used a Mac, they laughed because I had no command prompt. When 
I used Linux, they laughed because I had no GUI.  

Reply via email to