[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