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]