Greg Ames wrote:
>(sigh...where did I put the phone # for the mod_include help desk?)
>
>With a cvs checkout from Wednesday PM on daedalus, I get seg faults in
>ap_save_brigade() called by send_parsed_content() in mod_include.c .
>We've seen the URL before - http://httpd.apache.org/docs/misc/FAQ.html
>. The same request works fine on my Linux box.
>
>We appear to be processing the <!--#include virtual="FAQ-D.html?" -->
>tag. The brigade passed into ap_save_brigade() starts with a valid MMAP
>bucket, followed by trash which may be a sentinel for another brigade.
>This is right after a split, and the other brigade from the split looks
>bad too. I don't see any signs of network errors.
>
>Since I have no idea where the brigades got trashed, my plan is to
>create a debug function which walks its input brigade and verifies that
>each bucket has a valid type field, then sprinkle calls to this function
>in strategic places within send_parsed_content(). Other ideas are
>appreciated.
>
Do the values of ctx->head_start_bucket and ctx->head_start_index look
reasonable when it does the bucket_split and brigade_split just before
the segv? If those were bad, it might explain the trashed brigade.
(I can't recreate the crash on Linux either; it never even enters that
branch of the code.)
Also, in case there's memory corruption happening in some other code
that triggers the segv here, do you have a Purify-style tool available
on that platform?
--Brian