William A. Rowe, Jr. wrote:
Paul Querna wrote:
Best guess is that we corrupted a bucket brigade by double freeing it,
or something of that kind. This is definitely a new behavior since the
async-write code was merged into trunk.
It is odd that we could of double-free'ed something on the connection
pool. Maybe it isn't a double-free issue at all...
My other thought comes down to the thread locking. Perhaps we are
looking
at an issue of two threads touching the per-thread non-locking allocator
at once? The reason I suspect is that it -seems- your process ended up
with a linked block list with a cyclic loop.
That might well be the problem, since the thread that frees the brigade
isn't necessarily the same thread that allocated it. I'll take a look
at the
code later today.
Brian