> Am 07.07.2021 um 17:39 schrieb Ruediger Pluem <rpl...@apache.org>:
> 
> 
> 
> On 7/7/21 5:25 PM, Stefan Eissing wrote:
>> In order to reproduce the logs I see on this weird behaviour, I'll attach 
>> the patch I made:
>> 
>> 
>> 
>> 
>> With this, I see in a hanging process:
>> 
>> [Wed Jul 07 15:20:23.014980 2021] [core:trace1] [pid 42471:tid 
>> 123145448968192] core_filters.c(429): (32)Broken pipe: [client 
>> 127.0.0.1:49824] core_output_filter: writing data to the network
>> [Wed Jul 07 15:20:23.044541 2021] [mpm_event:debug] [pid 42471:tid 
>> 4525448704] event.c(599): AH: wakeup_listener: start
>> [Wed Jul 07 15:20:23.044601 2021] [mpm_event:debug] [pid 42471:tid 
>> 4525448704] event.c(603): AH: wakeup_listener: apr_pollset_wakeup
>> [Wed Jul 07 15:20:23.044715 2021] [mpm_event:debug] [pid 42471:tid 
>> 4525448704] event.c(610): AH: wakeup_listener: ap_queue_info_term
>> [Wed Jul 07 15:20:23.044861 2021] [mpm_event:debug] [pid 42471:tid 
>> 123145461309440] event.c(1985): (4)Interrupted system call: AH: pollset 
>> returned listener_may_exit=0
> 
> Hm. The ap_log_error statically writes listener_may_exit=0. Can you put the 
> actual value of listener_may_exit in the log message?

I put it statically since that was the value in the "if ()" 6 lines above. it 
should have been visible then and there to work.

> 
>> [Wed Jul 07 15:20:23.044817 2021] [mpm_event:debug] [pid 42471:tid 
>> 4525448704] event.c(629): AH: wakeup_listener: pthread_kill
>> [Wed Jul 07 15:20:23.044954 2021] [mpm_event:trace1] [pid 42471:tid 
>> 123145461309440] event.c(1809): All workers are busy or dying, will close 1 
>> keep-alive connections
>> [Wed Jul 07 15:20:23.044987 2021] [mpm_event:debug] [pid 42471:tid 
>> 4525448704] event.c(635): AH: wakeup_listener: end
>> [Wed Jul 07 15:20:23.045154 2021] [mpm_event:trace1] [pid 42471:tid 
>> 4525448704] event.c(2940): graceful termination received, join workers
>> [Wed Jul 07 15:20:25.927437 2021] [mpm_event:debug] [pid 42471:tid 
>> 123145461309440] event.c(1985): (70007)The timeout specified has expired: 
>> AH: pollset returned listener_may_exit=0
> 
> Looks like we get back in the poll and have to wait for the timeout.
> 
>> [Wed Jul 07 15:20:25.927468 2021] [mpm_event:trace1] [pid 42471:tid 
>> 123145461309440] event.c(1809): All workers are busy or dying, will close 0 
>> keep-alive connections
>> 
>> Which says (to my eyes) that the pollset_wakeup happened, but the listener 
>> saw "listener_may_exit == 0". Is the volatile maybe not enough?
> 
> Regards
> 
> RĂ¼diger

Reply via email to