[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