[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