[mythtv] Unresponsive BE

Douglas Paul doug at elemental.ath.cx
Wed Sep 8 20:27:02 UTC 2010


Hi,

On Wed, Sep 08, 2010 at 09:33:01PM +0200, Warpme wrote:
> My issue have much heavier class. BE is not responding to any requests 
> (FE, Web, etc). For user this if functionally equivalent to lock-up.
> For me lock-up is most heavy type of system failure (only burning or 
> electrical hazard is worse IMHO).

Actually, this was exactly the same thing I was seeing in my ticket. The
backend didn't respond to anything in this state whether it was a frontend,
:6544 status, other backends, etc.

It was also due to slave backends crashing or disappearing due to hardware
issues or a machine not booting correctly with WOL.

You should try making a debug build then attach gdb to the backend when it
is in the hung state.  You should be able to track down the thread that's
deadlocked.  You might see something like shown in the other ticket, where
you have a SendReceiveStringList which goes to a connectionClosed and then
deadlocks.  The problem would probably be where that SendReceiveStringList
was called from.

The problem is that in the connectionClosed callback, a lock is used which
is also used in many other places when iterating over the currently opened
sockets. If socket operations are done while this lock is held, and the
callback ends up getting called, it will deadlock. The conclusion is that it
is not safe to perform socket operations when this lock is held.

-- 
Douglas Paul




More information about the mythtv-dev mailing list