You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Sander Striker <st...@apache.org> on 2005/12/31 12:08:21 UTC

Pools bug?, WAS: Re: Event MPM: Spinning on cleanups?

Roy T. Fielding wrote:
> On Dec 30, 2005, at 5:51 PM, Brian Pane wrote:
> 
>> I haven't been able to find the bug yet.  As a next step, I'll try  using
>> valgrind on a build with pool debugging enabled.
> 
> 
> On entry to allocator_free, if
> 
>    (node == node->next && node->index > current_free_index)
> 
> is true, then the do { } while ((node = next) != NULL);
> will go into an infinite loop.  This is because
> 
>         if (max_free_index != APR_ALLOCATOR_MAX_FREE_UNLIMITED
>             && index > current_free_index) {
>             node->next = freelist;
>             freelist = node;
>         }
> 
> does not update current_free_index.  I don't know if that is the
> problem, but it may be the symptom.
> 
> ....Roy

Hmm, I'll go over the pools code once more to see if there really
is an obscure edge case bug hitting us.

Sander