[mythtv-users] master: DVB-T segfaults in mythtv-setup and mythbackend
David Hampton
mythtv at love2code.net
Tue Feb 2 19:36:00 UTC 2021
On Tue, 2021-02-02 at 07:42 +0100, Klaas de Waal wrote:
>
>
> On Tue, 2 Feb 2021 at 07:29, Klaas de Waal <klaas.de.waal at gmail.com>
> wrote:
> >
> >
> > On Mon, 1 Feb 2021 at 19:09, Klaas de Waal
> > <klaas.de.waal at gmail.com> wrote:
> > >
> > >
> > > On Mon, 1 Feb 2021 at 16:54, John Pilkington <
> > > johnpilk222 at gmail.com> wrote:
> > > > On 01/02/2021 11:27, John Pilkington wrote:
> > > >
> > > > > > > I have tried retuning the el7 box but that segfaults
> > > > > > > before
> > > > the end
> > > > > > > of an 'all transports' scan.
> > > > > > Now reverted to last week's build.
> > > > >
> > > > > ... to continue. I left the Fedora 32 box building and
> > > > recording
> > > > > overnight, and now have master f53465d running (under a new
> > > > kernel).
> > > > >
> > > > > I rescanned both tuners and have edited the recordings with
> > > > no problems
> > > > > seen. The cutlist editor didn't crash or have any noticeable
> > > > hangups,
> > > > > so all seems well. I didn't see the problem reported by
> > > > Klaas either.
> > > > >
> > > > > So I'll try another brew for el7...
> > > > >
> > > > > Thanks,
> > > > >
> > > > > John P
> > > > >
> > > > >
> > > >
> > > > The new build gives this same set of warnings on leaving
> > > > mythtv-setup.
> > > > I saw something very similar in the ubuntu 18.04 master ppa
> > > > last
> > > > Thursday, but don't have that box now.
> > > >
> > > > {{{
> > > >
> > > > 2021-02-01 14:40:17.570 I Clearing OpenGL painter cache.
> > > > 2021-02-01 14:40:17.570 I OpenGL: MythRenderOpenGL closing
> > > > 2021-02-01 14:40:17.572 I Display: Deleting
> > > > 2021-02-01 14:40:17.575 I PowerDBus: Closing interfaces
> > > > 2021-02-01 14:40:17.583 C 'SSDP': MThread epilog was never
> > > > run! (SSDP)
> > > > 2021-02-01 14:40:17.583 C 'SSDP': MThread destructor called
> > > > while
> > > > thread still running! (SSDP)
> > > > Handling Illegal instruction
> > > > Illegal instruction
> > > >
> > > > }}}
> > > >
> > > > A channel scan starts but segfaults after around 5
> > > > transports,as below.
> > > > I haven't tried running mythbackend again.
> > > >
> > > > {{{
> > > >
> > > > 2021-02-01 15:17:45.736 I CardUtil[1]: Set delivery system:
> > > > DVB-T
> > > > 2021-02-01 15:19:17.740 C 'DVBRead': MThread epilog was never
> > > > run!
> > > > (DVBRead)
> > > > 2021-02-01 15:19:17.740 C 'DVBRead': MThread destructor called
> > > > while
> > > > thread still running! (DVBRead)
> > > > Handling Segmentation fault
> > > > Segmentation fault
> > > >
> > > > }}}
> > > >
> > > > This el7 build from 24 Jan runs well:
> > > > mythtv-32.Pre.2062.g03dd08c3eb-100.el7.x86_64.rpm That was
> > > > before the
> > > > std::chrono updates.
> > > >
> > > > and today's master in F32 is probably better (cutlist editor
> > > > less likely
> > > > to hang)
> > > >
> > > > el7 has gssdp v 1.0.2-1 from SL security. F32 has v 1.0.5-1
> > > >
> > > > I suppose all this just underlines the need to move on from
> > > > el7, but it
> > > > looks to me as if 'buntu 18.04 has it too.
> > > >
> > > >
> > >
> > > My mythbackend and mythtv-setup run OK but that is on Fedora 33.
> > > The failure of mythfrontend master, as reported by me, is on
> > > Ubuntu 18.
> > > The mythfrontend master on Fedora 33 does not have this problem.
> > > The mythfrontend master on Ubuntu 18 is now from a few weeks
> > > back, before the std::chrono updates, and that runs OK.
> > > Looks to me that there is indeed something wrong with the
> > > std::chrono updates on Ubuntu 18.
> > > Have not done a complete bisect but even the single std::chrono
> > > commit is very large.
> > > The problem I see must be in the code that does the "animation";
> > > the GUI usually goes in about 5 steps of about 20 milliseconds
> > > (guess)
> > > from one presentation to another, fading out the old and fading
> > > in the new.
> > > My guess is that this timer is now broken; in my mythfrontend
> > > this is where it seems to stop.
> > >
> > >
> >
> >
> > Had this morning bisect for breakfast...
> > I could reproduce the mythtv-setup segfault on exit on Ubuntu 18.
> > Git says:
> > Bisecting: 0 revisions left to test after this (roughly 0 steps)
> > [a9d53f3230a12d03182ee7df5e85cbcefc40abea] Convert myth threads to
> > std::chrono. (2)
> >
> > This is the commit that introduces the bug:
> >
> > Commit: a9d53f3230a12d03182ee7df5e85cbcefc40abea
> >
> > https://github.com/MythTV/mythtv/commit/a9d53f3230a12d03182ee7df5e85cbcefc40abea
> > Author: David Hampton <mythtv at love2code.net>
> > Date: 2021-01-25 (Mon, 25 Jan 2021)
> >
> > Changed paths:
> > M mythplugins/mythmusic/mythmusic/playlistcontainer.cpp
> > M mythtv/libs/libmyth/audio/audiooutputalsa.cpp
> > M mythtv/libs/libmyth/audio/audiooutputbase.cpp
> > M mythtv/libs/libmyth/audio/audiooutputca.cpp
> > M mythtv/libs/libmyth/audio/audiooutputoss.cpp
> > M mythtv/libs/libmyth/audio/volumebase.cpp
> > M mythtv/libs/libmythbase/mthread.cpp
> > M mythtv/libs/libmythbase/mthread.h
> > M mythtv/libs/libmythbase/mthreadpool.cpp
> > M mythtv/libs/libmythbase/mthreadpool.h
> > M mythtv/libs/libmythbase/mythdate.cpp
> > M mythtv/libs/libmythbase/mythdate.h
> > M mythtv/libs/libmythbase/mythdownloadmanager.cpp
> > M mythtv/libs/libmythbase/mythsystemunix.cpp
> > M mythtv/libs/libmythmetadata/imagescanner.cpp
> > M mythtv/libs/libmythprotoserver/mythsocketmanager.cpp
> > M
> > mythtv/libs/libmythprotoserver/requesthandler/deletethread.cpp
> > M mythtv/libs/libmythtv/HLS/httplivestreambuffer.cpp
> > M mythtv/libs/libmythtv/cardutil.cpp
> > M mythtv/libs/libmythtv/cardutil.h
> > M mythtv/libs/libmythtv/channelscan/channelscan_sm.cpp
> > M mythtv/libs/libmythtv/channelscan/externrecscanner.cpp
> > M mythtv/libs/libmythtv/channelscan/iptvchannelfetcher.cpp
> > M mythtv/libs/libmythtv/channelscan/vboxchannelfetcher.cpp
> > M mythtv/libs/libmythtv/io/mythfilebuffer.cpp
> > M mythtv/libs/libmythtv/io/mythmediabuffer.cpp
> > M mythtv/libs/libmythtv/mythplayer.cpp
> > M mythtv/libs/libmythtv/previewgenerator.cpp
> > M mythtv/libs/libmythtv/recorders/DeviceReadBuffer.cpp
> > M mythtv/libs/libmythtv/recorders/cetonstreamhandler.cpp
> > M mythtv/libs/libmythtv/recorders/dvbchannel.h
> > M mythtv/libs/libmythtv/recorders/dvbsignalmonitor.cpp
> > M mythtv/libs/libmythtv/recorders/signalmonitor.cpp
> > M mythtv/libs/libmythtv/recorders/signalmonitor.h
> > M mythtv/libs/libmythtv/recorders/v4lrecorder.h
> > M mythtv/libs/libmythtv/tv_rec.cpp
> > M mythtv/libs/libmythtv/tv_rec.h
> > M mythtv/libs/libmythui/mythmainwindowprivate.h
> > M mythtv/libs/libmythui/mythuianimation.cpp
> > M mythtv/libs/libmythui/mythuianimation.h
> > M mythtv/libs/libmythupnp/taskqueue.cpp
> > M mythtv/programs/mythbackend/mainserver.cpp
> > M mythtv/programs/mythbackend/scheduler.cpp
> > M mythtv/programs/mythfrontend/galleryslide.cpp
> > M mythtv/programs/mythfrontend/galleryslide.h
> > M mythtv/programs/mythfrontend/galleryslideview.cpp
> > M mythtv/programs/mythfrontend/galleryslideview.h
> > M mythtv/programs/mythfrontend/gallerytransitions.cpp
> > M mythtv/programs/mythfrontend/gallerytransitions.h
> >
> > Log Message:
> > -----------
> > Convert myth threads to std::chrono. (2)
> >
> > This commit focuses on converting MThread, and propagating those
> > changes throughout the rest of the code without changing too many
> > other interfaces. There are some temporary conversions to/from
> > int/std::chrono::millisecond that should be removed with later
> > commits.
> >
> >
>
> Hi David,
>
> Thanks for looking into the OSD issue but please note that I have
> reported that in ticket #310.
> The crash of mythtv-setup as reported by John and reproduced by me is
> a different issue and is, as I understand it, a std::chrono issue
> according to the bisect.
Hi Klaas,
I'm unable to recreate the crash when scanning for channels. I can run
a complete scan on my tuner without the system crashing. Mine's a
HDHomerun tuner though, not a DVB based tuner, which probably explains
the difference. I also can't recreate see the SSDP crash that John saw.
I've been looking through the a9d53f32 change set, and while there are
changes to ~50 files, many of those changes are trivial. I've been
focusing on the changes to mthread.cpp, but haven't yet found anything
that I can point to and say "that's the problem". I have one
possibility that I'm still investigating, but at this point have no way
to test any changes.
Still working on it...
David
More information about the mythtv-users
mailing list