[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