문제

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.

올바른 솔루션이 없습니다

다른 팁

According to futex man page:

This system call is typically used to implement the contended case of a lock in shared memory, as described in futex(7)

So my first question: is your Perl script using "Perl Threads" and are you having contention on a shared memory variable?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top