[mythtv-users] master: DVB-T segfaults in mythtv-setup and mythbackend

Klaas de Waal klaas.de.waal at gmail.com
Tue Feb 2 06:29:05 UTC 2021

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

  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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-users/attachments/20210202/1565f156/attachment.htm>

More information about the mythtv-users mailing list