[mythtv] Ticket 9177 / HD-PVR channel change
Brian C. Huffman
bhuffman at graze.net
Sun Jan 2 03:22:19 UTC 2011
On 12/31/2010 05:23 PM, Daniel Kristjansson wrote:
> On Fri, 2010-12-31 at 17:13 -0500, Brian C. Huffman wrote:
>> Has there been any thought as to what is causing the problem in ticket
>> 9177 ( "Error opening jump program file buffer" when changing channels
>> in live TV" )? The poster has an HD Homerun, but I'm seeing the same
>> type of problem with an HD-PVR. This problem exhibited itself fairly
>> recently - I think it's even post-v24. It has shown up in the .24-fixes
>> branch which is extremely unfortunate as I was hoping to stabilize for a
>> while and figured fixes ought to be safe.
> It looks like this is a deadlock of sorts caused by a change in the
> video player threading model for 0.24. It isn't a true deadlock because
> MythTV can break out of it. It is also non-deterministic, it looks like
> this will only occur if the frontend attempts to read a file before the
> backend has written the first 2048 bytes of the file to disk. As a
> result some people will see this quite a lot and others will never
> see it, depending on the particulars of their setup.
> I believe Mark Kendall and I are on the same page as to how to fix it,
> change the RingBuffer::safe_read() API so that we pass errors (temporary
> and permanent) to higher levels and handle them there. It's a matter
> of finding the time to work in it.
> -- Daniel
Thanks for the reply. For me this is happening in
RingBuffer::OpenFile. It seems like the the loop is being exited on the
first error of the open rather than continuing until retry_ms is
exceeded. I can't figure out why this is happening, but I worked around
the problem by hardcoding a delay before the open.
More information about the mythtv-dev