https://bz.apache.org/bugzilla/show_bug.cgi?id=61786

--- Comment #9 from Luca Toscano <toscano.l...@gmail.com> ---
I checked both Silvan's and Konstantin's debug traces (thanks to both!). As far
as I got this issue happens when the volume of http requests to httpd lowers
down and mpm_event cleans up some processes.

Some interesting notes from the stack traces:

1) in Silvan's gdb output, the listener seems to be waiting for threads to
complete jk_tcp_socket_recvfull (mod_jk right?). So from my naive perspective
it seems like the threads are still reading something from slow clients or
something similar? Silvan, were you able to verify if slow clients were still
sending data?

2) in Konstantin's pstack output, it seems that the all the threads in a
process are already done but the listener is waiting for polling data. Before
2.4.28 the listener thread was waiting in poll() for new data on the sockets
for maximum 100ms, to then wake up and verify the status of the timeouts queues
(keep alives, lingering closes, etc..). With 2.4.28 the 100ms timeout is not
used anymore, and we rely on a feature of apr_pollset to be "wakeable" (so the
listener thread can be woken up from polling by another thread). It is really
interesting to see that the issue happens on Solaris, so it might be that the
'wakeable' feature in APR for Solaris is showing some issues.
Yann committed r1809273 very recently (only in trunk for the moment, not
backported to 2.4.x), that might help Konstantin's use case.

Luca

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscr...@httpd.apache.org
For additional commands, e-mail: bugs-h...@httpd.apache.org

Reply via email to