[mythtv-users] Live TV playback frustration

Jim Stichnoth stichnot at gmail.com
Wed Aug 8 14:09:04 UTC 2012


On Wed, Aug 8, 2012 at 6:56 AM, Adrian Saul <sgtbundy at gmail.com> wrote:
> Frequently I have issues where playback of live TV or playback of in
> progress recordings errors out frequently (Unrecoverable Error message).
> Commonly in the logs I have a timeout with GetFramesWritten() from the
> backend (see logs below). Looking at the code the GetFramesWritten() call
> seems fairly simple, working out to be just returning a number value with no
> obvious locking or other reason why it would take more than 7 seconds to
> return.  Trying to watch the Olympics is getting really frustrating, because
> this happens more commonly with larger recordings.  I have noticed it tends
> to be under the following circumstances:
>
> 1. The other non-backend client starts (and sometimes stops) playback of any
> other recording
> 2. Another unrelated recording is started or finished by the backend
> 3. Sometimes when a flagging job or something else dies or exits
>
> I am using Mythbuntu 11.04 and the 0.25.1+fixes.20120714.5a51df7 mythtv
> stream, however this problem has been ongoing for some time since 0.24 or
> earlier and through all the 0.25 updates I have done. The only unique thing
> about my setup is I have a Solaris machine for storage and the database,
> with the combined backend/frontend and another other client frontend being
> diskless NFS machines off that solaris server.  None of the servers show any
> performance issues and the storage and network performance is fine and has
> no errors.  As best as I can tell I suspect this is some sort of locking or
> contention in the backend which is delaying the response to the frontend
> which then errors out.  As above, completed recordings are fine and show no
> issues, but I have disabled streaming from the backend and make the
> frontends use NFS mounts to access the recording files.
>
> Aug  8 23:02:08 pvr mythfrontend[4967]: E CoreContext mythsocket.cpp:534
> (readStringList) MythSocket(2ed35a0:72): readStringList: Error, timed out
> after 7000 ms.
> Aug  8 23:02:08 pvr mythfrontend[4967]: E CoreContext remoteencoder.cpp:99
> (SendReceiveStringList) RemoteEncoder::SendReceiveStringList(): No response.
> Aug  8 23:02:08 pvr mythfrontend[4967]: I CoreContext tv_play.cpp:380
> (StartTV) TV: Exiting main playback loop.
>
>
> On the backend:
>
> Aug  8 23:03:11 pvr mythbackend[12372]: W ProcessRequest mainserver.cpp:5801
> (connectionClosed) MainServer: Unknown socket closing
> MythSocket(0x7fccacb07790)
> Aug  8 23:03:11 pvr mythbackend[12372]: W ProcessRequest mainserver.cpp:5801
> (connectionClosed) MainServer: Unknown socket closing
> MythSocket(0x7fccad849160)
> Aug  8 23:03:11 pvr mythbackend[12372]: E ProcessRequest mythsocket.cpp:358
> (writeStringList) MythSocket(7fccb8b83130:-1): writeStringList: Error,
> socket went unconnected.#012#011#011#011We wrote 0 of 14 bytes with 1
> errors#012#011#011#011starts with: 6       382750
> Aug  8 23:03:11 pvr mythbackend[12372]: E ProcessRequest mythsocket.cpp:358
> (writeStringList) MythSocket(7fccb976ab10:-1): writeStringList: Error,
> socket went unconnected.#012#011#011#011We wrote 0 of 994 bytes with 1
> errors#012#011#011#011starts with: 986     Olympics: London 2012[]:[]Day 12
> - Session 2[]:[]Day...
> Aug  8 23:03:11 pvr mythbackend[12372]: E ProcessRequest mythsocket.cpp:358
> (writeStringList) MythSocket(7fccacb07790:-1): writeStringList: Error,
> socket went unconnected.#012#011#011#011We wrote 0 of 10 bytes with 1
> errors#012#011#011#011starts with: 2       ok
> Aug  8 23:03:11 pvr mythbackend[12372]: E ProcessRequest mythsocket.cpp:358
> (writeStringList) MythSocket(7fccad849160:-1): writeStringList: Error,
> socket went unconnected.#012#011#011#011We wrote 0 of 994 bytes with 10
> errors#012#011#011#011starts with: 986     Olympics: London 2012[]:[]Day 12
> - Session 2[]:[]Day...

These kinds of errors often indicate a deadlock in mythbackend.  A
number of deadlocks have recently been found and fixed, with the fixes
in the 0.26 beta.  These issues have been around for a long time, and
they tend to be triggered by less predictable real-time events like
watching Live TV or EIT updates.

You could try out 0.26-beta (being sure to have a DB backup first),
but that has its own set of risks.

Jim


More information about the mythtv-users mailing list