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