We have 10 workers processing user's connections. Workers are implemented in Perl, using FCGI
and FCGI::ProcManager
.
Sometimes, one worker stop processing of connections. Strace displays:
futex(0x7fa9ebde0e80, FUTEX_WAIT_PRIVATE, 2, NULL
That is it sleep, waiting on a futex.
The worker never returns from waiting.
If we kill this worker with
kill -9
then its parent reap it. Return code equal 9.
Our project is highload. This issue appears very rarely.