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

Reply via email to