On Wed, 20 Feb 2008, Niklas Edmundsson wrote:
> Getting a few cycles I thought I should do an easy migration to httpd
> 2.2.8, but it seems that the thing is dumping core on me...
>
> Are anyone else using httpd 2.2.8 together with mod_cache seeing this?
> At the moment I'm not sure where the problem is. Our mod_disk_cache
> patches are unchanged from 2.2.6 and my patch for mod_cache.c is the
> same (the relaxupdates feature, and it's not enabled in config), so
> I'm suspecting something changed between httpd 2.2.6 and 2.2.8 that
> makes it fall apart on me.
Not seeing it - and would love a reproduce test case.
While doing my last pass of fiddling - I did notice that we have some
apr_bucket_cpy()s which _may_ not do quite the right thing but need to
have somethinglike this added
rv = apr_bucket_copy(e, &cpy);
if (rv == APR_ENOTIMPL) {
const char *str;
apr_size_t len;
/* This takes care of virtual bucket which have
* yet not been filled. XXX invocate quick prayer
* hoping thre aint no 158Mbyte LANDSAT tiff
* lurking in there. */
rv = apr_bucket_read(e, &str, &len, APR_BLOCK_READ);
if (rv == APR_SUCCESS) {
rv = apr_bucket_copy(e, &cpy);
};
};
I did not dare to fix these - as in some cases deeper down such casting
has already been done. But my guess is that we may need a more
'omnipotent' bucket copy - and do a pass through most bucket instanciating
code at some point.
Perhaps an interesting way to testcasing for this would be to make a small
module which geguritates, say, a favico.ico as a non mmmaped bucked. That
way you'd flush tme out nicely.
Dw.