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.