[mythtv-commits] Ticket #11323: Deadlock in mythfrontend if LiveTV recording is zero length
MythTV
noreply at mythtv.org
Thu Jan 3 21:37:08 UTC 2013
#11323: Deadlock in mythfrontend if LiveTV recording is zero length
-------------------------------------+-------------------------------------
Reporter: Chris Elston | Type: Bug Report -
<cdelston@…> | Hang/Deadlock
Status: new | Priority: minor
Milestone: unknown | Component: MythTV - General
Version: 0.26-fixes | Severity: medium
Keywords: | Ticket locked: 0
-------------------------------------+-------------------------------------
Issue seen on 0.26.0 and also confirmed on 0.26-fixes at git rev
28846f87db59efa28ce20c9309089a49520227bb
I suspect I have an issue on my backend which is causing zero length
LiveTV buffers, in turn this causes mythfrontend to deadlock on returning
to the EPG. I'm ignoring the backend issue for now, and this ticket
concerns the frontend deadlock only.
Looking at the end of the attached log, the endless "(SetDecoder)
Player(1): Waited 10ms for decoder lock" messages from Thread 1 suggest
that it's spinning trying to acquire decoder_change_lock in
MythPlayer::SetDecoder
From the attached backtrace I think that decoder_change_lock is being held
by Thread 5 which has passed through MythPlayer::DecoderGetFrame.
I believe that thread 1 is holding osdLock, vidExitLock, and
videofiltersLock (since it's executing the MythPlayer::~MythPlayer
destructor) but Thread 5 is waiting for these same locks to complete the
ReinitVideo call.
Unfortunately I don't really grok this enough to produce a patch.
--
Ticket URL: <http://code.mythtv.org/trac/ticket/11323>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
More information about the mythtv-commits
mailing list