Hi,

I'm using a web stack consisting of Apache 2.2.6, mod_perl 2.0.3, and
libapreq 2.10 (from their svn branch), and I'm seeing a problem where
some headers are sometimes missing from the HTTP response.

Specifically, we are setting a couple cookies from our mod_perl
application, and about half the time the cookies show up in the Apache
response, and half the time they don't. I've tried using
Apache2::Cookie::new and Apache2::Cookie::bake to write the cookies
out, as well as doing it manually with $r->headers_out->add() and
$r->err_headers_out->add(), but the same problem exists in either
case.

Here is an example of the response headers I see when the cookies we
set come through, and when they don't come through. I've marked the
headers that differ between the two:

With Cookies:

Cache-Control: private, no-store, no-cache, max-age=0,
must-revalidate, proxy-revalidate
Connection: close
Date: Wed, 19 Dec 2007 16:42:37 GMT
Pragma: no-cache
Accept-Ranges: bytes
Server: Apache
Vary: *
Content-Type: text/html; charset=ISO-8859-1
Expires: Fri, 22 Jun 2007 17:16:24 GMT
Client-Date: Wed, 19 Dec 2007 17:27:34 GMT
Client-Peer: 192.168.1.71:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked <-- **missing from below**
P3P: CP="IDC DSP COR CUR PSA PSD IVA OUR BUS STA"
Set-Cookie: FOO=bar; path=/; domain=192.168.1.71; expires=Thu,
18-Dec-2008 17:27:09 GMT <-- **missing from below**
Set-Cookie: FAZ=baz; path=/; domain=192.168.1.71 <-- **missing from below**

Without Cookies:

Cache-Control: private, no-store, no-cache, max-age=0,
must-revalidate, proxy-revalidate
Connection: close
Date: Wed, 19 Dec 2007 16:42:35 GMT
Pragma: no-cache
Accept-Ranges: bytes
Server: Apache
Vary: *
Content-Length: 123434 <-- **missing from above**
Content-Type: text/html; charset=ISO-8859-1
Expires: Fri, 22 Jun 2007 17:16:24 GMT
Client-Date: Wed, 19 Dec 2007 17:27:32 GMT
Client-Peer: 192.168.1.71:80
Client-Response-Num: 1
P3P: CP="IDC DSP COR CUR PSA PSD IVA OUR BUS STA"


Has anyone ever seen this problem before, or can point me in the right
direction? It appears that somewhere in the web stack the headers are
sometimes just not making it all the way to the response...

Thanks!