﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	mlocked
13156	radio channels: mythfrontend hang (endless loop) when exiting 'LiveTV' and delays on switching channels	Stephan Suerken <absurd@…>		"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"	Bug Report - Hang/Deadlock	closed	minor	needs_triage	MythTV - General	Master Head	medium	Trac EOL	radio audio dvb-s		0
