Question

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.

No correct solution

OTHER TIPS

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?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top