https://issues.apache.org/bugzilla/show_bug.cgi?id=45605


Ruediger Pluem <[EMAIL PROTECTED]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |NEEDINFO




--- Comment #5 from Ruediger Pluem <[EMAIL PROTECTED]>  2008-10-07 08:52:54 PST 
---
(In reply to comment #4)
> The same was reproduced several times under a heavy load with the 1 process / 
> 2
> thread configuration. Due to the data corruption by the worker_queue overflow
> the core is dumped. Inspecting the core files, the underflow of
> worker_queue_info.idlers is found.
> 
> Finally, that looks like the race between the condition signal and the atomic
> update of the idlers variable.
> 
> The following scheduling scenario leads to the idlers underflow:
> 
> 0. one listener + worker thread
> 
> 1. listener got a connection, decreases idlers to 0, then context switch
> 2. worker does his job set the idlers from 0 to 1,
>    then context switch before the condition signal
> 3. listener got a connection, sees that idlers is 1,
>    so decreases is to 0, gets another connection,
>    waits on the condition variable
> 4. worker remembering that the idlers was 0,
>    does the cond_signal, then context switch
> 5. listener wakes up and set idlers to -1
> 
> The 2.2.9 patch is the following. The similar patch for 2.2.3 is currently
> under the test.

Very nice analysis. Just one question for clarification: After applying the
patch you submitted the issue was gone and no longer reproducable?


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to