httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Pane <bri...@apache.org>
Subject Re: Event MPM: Spinning on cleanups?
Date Tue, 06 Dec 2005 06:26:25 GMT
On Dec 5, 2005, at 10:30 AM, Brian Pane wrote:

> 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.

No, on closer inspection, that's not it.  The event MPM creates a new
allocator whenever it creates a new ptrans pool (line 1000).  If the
ptrans pool ever gets destroyed, we might have problems, because it's
created as a child of pconf, and I don't think pconf is thread-safe.  It
doesn't appear that the ptrans pool is ever destroyed within the code,
though, so pconf thread-safety problems wouldn't explain the error
Paul saw.

Brian


Mime
View raw message