httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dirk-Willem van Gulik <di...@webweaving.org>
Subject Re: httpd 2.2.8 + mod_cache segfaults
Date Wed, 20 Feb 2008 12:41:20 GMT


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.


Mime
View raw message