[mythtv-users] What does restarting mythbackend actually do?
Jerome Yuzyk
jerome at supernet.ab.ca
Fri Jan 24 03:13:16 UTC 2020
On Thursday, January 23, 2020 7:29:42 PM MST Stephen Worthington wrote:
> On Thu, 23 Jan 2020 17:24:24 -0700, you wrote:
> >[ 0.29.1 on Fedora 26 in Canada ]
> >
> >I proactively reset my Firewire connection to my HD STB and restart
> >mythbackend every morning, because I've learned that CNN and sometimes CTV
> >really mess things up - like yellow or red Watch Recordings entries messes.
> >Sometimes even that's not enough, so I have to do the reset+restart again
> >after a failure.
> >
> >I've gotten used to it as the price to pay for it to work at all, and I'm
> >well behind the latest release - I'll be fixing that.
> >
> >But, sometimes systemctl restart mythbackend takes a couple seconds,
> >and sometimes it can take a couple minutes, especially after a failure.
> >
> >So I'm wondering what's going on with a restart. I'm assuming it has to
> >wait for various things to be signalled to stop or be killed and whatever
> >is broken is probably not responding.
> >
> >How could I find out what the stop/start sequence is?
>
> Slow restarting of mythbackend is usually caused by a bug that all the
> MythTV programs seem to suffer from, where they react to an external
> shutdown request (kill -15 aks kill -SIGTERM) by shutting down all
> their threads then waiting for that to complete. Unfortunately, the
> bug prevents this from working properly and one thread remains
> running, so mythbackend keeps running until systemd does a timeout on
> the shutdown process (configurable, 60 or 90 seconds usually). On
> timeout, systemd does a kill -9 aka kill -SIGKILL, which kills off the
> last mythbackend thread. Since all the other threads have actually
> shut down properly and the last thread seems to be just waiting
> forever for it to see that has happened, there is no damage done by
> this problem, except for the slow shutdown. This slow mythbackend
> shutdown is also why MythTV boxes frequently are slow to shutdown or
> restart - systemd is waiting for the mythbackend timeout before it can
> complete the shutdown process.
>
> If you want mythbackend to shut down rapidly, you need to issue a
> second kill -15 shortly after the first one. I have a script that
> does this for Ubuntu:
>
> root at mypvr:~# cat /usr/local/bin/mythbackendstop.sh
> #!/bin/bash
> PID=$(systemctl show -p MainPID mythtv-backend.service 2>/dev/null |
> cut -d= -f2)
> if [ "$PID" != "0" ]; then
> kill -15 $PID
> sleep 1
> kill -15 $PID
> fi
>
> (Note that my email client wraps long lines - the PID= line is all one
> long line)
>
> And I have modified my systemd settings for mythbackend so that it
> uses mythbackendstop.sh to shut down mythbackend. See this mailing
> list thread for details and the download URL:
>
> https://lists.gt.net/mythtv/users/628020
Thanks very much! I just did a restart, and it took over 2 minutes! (after
recording CNN for 8.5 hours. That didn't happen on 0.28 so much so I might be
hitting that bug.
Doing it again took 12 seconds, as you said it would in your post.
> As for your recording problems, if they still continue after upgrading
> your MythTV version, then you should post details and see if we can
> help you fix the actual problem, rather than keep on with your nasty
> workaround of having to restart mythbackend all the time.
I never had to do these proactive restarts before - I used to live with the
problem happening every few weeks. But then I started recording a half-dozen
hours of CNN and I started getting failed recordings every other day so I
started my daily routine. CNN and CTV seem to do bad things. I've chalked it
up to using a Shaw-provided DCS-3200MP2 and Firewire (which in most places is
disabled) and an old MythTV.
But when I do get up to the latest version (31 I think, before NHL Playoffs
start) and I still have the same problems, I will ask more. :)
--
A little of Jerome's MythTV World: http://mythtv.bss.ab.ca
More information about the mythtv-users
mailing list