[mythtv] Mutex destroy failure problem (was: Slave backend hang after ANN command)

Isaac Richards ijr at case.edu
Thu Apr 7 21:25:19 UTC 2005


On Thursday 07 April 2005 05:17 pm, Jason Gillis wrote:
> John Patrick Poet wrote:
> > I should add, that I have not had the frontend hang with the latest
> > CVS.  My backend death problem is probably not related, but for some
> > reason I though it was.
>
> I did some research to dig into this today.  I'm not able to discover
> anything conclusive, but I have found that I can produce this failure in
> PlaybackSock::SendReceiveStringList().  ((This is easy to do, as I inserted
> a "sleep(10);" between the WriteStringList() and ReadStringList() calls in
> MainServer::reconnectTimeout() on the slave backend.  When the slave gets
> to that point, I simply kill the process, which causes the master backend
> to fall over.))
>
> Tracing through things on the master end, it looks like when the call to
> ReadStringList() in SendReceiveStringList() fails due to the socket
> closure, something happens to sockLock.  Anytime after the socket is
> closed, calls referencing sockLock cause a seg. fault.  (Unfortunately, I
> don't know enough about Qt to figure out why the socket going away causes
> such problems with a (seemingly) unrelated QMutex object.)
>
> I figured that I'd throw this info out there, as it might help narrow
> things down in the hunt for this problem.

Might check to see if the signal that's sent when the socket is closed 
(MainServer::endConnection) is getting called, and so the PlaybackSock object 
is getting prematurely deleted.

Isaac


More information about the mythtv-dev mailing list