[mythtv-commits] Ticket #13156: radio channels: mythfrontend hang (endless loop) when exiting 'LiveTV' and delays on switching channels

MythTV noreply at mythtv.org
Wed Oct 18 16:59:41 UTC 2017


#13156: radio channels: mythfrontend hang (endless loop) when exiting 'LiveTV' and
delays on switching channels
--------------------------------------------+------------------------------
     Reporter:  Stephan Suerken <absurd@…>  |      Owner:
         Type:  Bug Report - Hang/Deadlock  |     Status:  new
     Priority:  minor                       |  Milestone:  needs_triage
    Component:  MythTV - General            |    Version:  v29-fixes
     Severity:  medium                      |   Keywords:  radio audio
Ticket locked:  0                           |  dvb-s
--------------------------------------------+------------------------------
 Hi!

 When entering 'LiveTV' on a preselected (DVB-S) audio-only channel,
 exiting 'LiveTV' consistently ends in an endless loop, hanging
 mythfrontend.

 Note that when entering 'LiveTV' and then '''switching the channel''' to
 some audio-only channel, exiting 'LiveTV' suprisingly '''will''' work. I
 however always notice a huge delay (~10s) when switching from an audio-
 only to some other channel.

 For the switching delay, the relevant code is in a loop in
 `MythPlayer::PauseDecoder()` and `MythPlayer::UnpauseDecoder()`; this has
 a 'max tries protector', so this eventually works.

 For the hang, the relevant code is in a loop in
 `MythPlayer::SetDecoder()`; this one has no 'max tries protector', so it
 hangs mythfrontend (audio is happily playing on).

 So afaiu, maybe `PauseDecoder()` can't actually pause (but this is ignored
 after some delay), and then later `SetDecoder()` can't get a lock, and
 that is not ignored (?).

 Fwiw1, this is how I can reproduce this, always, on 29-fixes (ed4356116a),
 several frontend installations, various hardware (backend using
 DVB-S/Astra):

 1. start mythfrontend, enter 'LiveTV'.
 2. Switch to an audio-only (radio) channel.
 3. Leave and re-enter 'LiveTV' (will now play that preselected radio
 channel).
 4. Leave 'LiveTV' (Esc) => HANG. mythfrontend can only be killed to fix
 this.


 Fwiw2, on hang, the log repeated forever is

 {{{
 2017-10-18 15:51:42.714971 I  Player(0): Waited 10ms for decoder lock
 }}}


 and strace shows the attempts on locking forever


 {{{
 futex(0x557461a1ec38, FUTEX_WAIT_PRIVATE, 3, {tv_sec=0, tv_nsec=10000000})
 = -1 ETIMEDOUT (Connection timed out)
 }}}


 Fwiw3 ;), this not a new problem, I remember having similar problems at
 least with 0.28.

 Thx!

 S

--
Ticket URL: <https://code.mythtv.org/trac/ticket/13156>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list