Mailing List Archive

Segfault while tuning channel in mythtv 31.0
Hi all,

I just upgraded from mythtv 30.0 to 31.0 (fixes) on Gentoo and now I get
a segfault when it is tuning a channel.

Happens when EIT scan starts or when I start Live TV. Did not test
recording yet.

Output in gdb for Live TV:

Thread 8 "TVRecEvent" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fe57b7fe700 (LWP 30677)]
0x00007fe5a4651a6c in ?? () from /usr/lib64/libmythtv-31.so.31

Attaching full gdb.txt.

After upgrading, I went into mythtv-setup and noticed that the
"DVBInput" is configured as capture cards delivery system, which is not
an option in the select box. So, I changed that to "DVB-S2". But that
did not change anything regarding the crash.

Any hints would be greatly appreciated.

Regards,
Thomas
Re: Segfault while tuning channel in mythtv 31.0 [ In reply to ]
On Fri, 2020-07-17 at 14:26 +0200, Thomas Börkel wrote:
> Hi all,
>
> I just upgraded from mythtv 30.0 to 31.0 (fixes) on Gentoo and now I
> get
> a segfault when it is tuning a channel.
>
> Happens when EIT scan starts or when I start Live TV. Did not test
> recording yet.
>
> Output in gdb for Live TV:
>
> Thread 8 "TVRecEvent" received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fe57b7fe700 (LWP 30677)]
> 0x00007fe5a4651a6c in ?? () from /usr/lib64/libmythtv-31.so.31
>
> Attaching full gdb.txt.
>
> After upgrading, I went into mythtv-setup and noticed that the
> "DVBInput" is configured as capture cards delivery system, which is
> not
> an option in the select box. So, I changed that to "DVB-S2". But that
> did not change anything regarding the crash.
>
> Any hints would be greatly appreciated.

I'm assuming that everything before line 480 is old cruft as it
reference a Qt4 library. Qt4 hasn't been supported since 0.27. If
those aren't old stack traces, start there. Current MythTV requires
Qt5.

The last stack frame in the file crashed here:

Thread 8 (Thread 0x7fe57b7fe700 (LWP 30677)):
#0 0x00007fe5a4651a6c in () at /usr/lib64/libmythtv-31.so.31
#1 0x00007fe5a46523cf in () at /usr/lib64/libmythtv-31.so.31
#2 0x00007fe5a465c036 in () at /usr/lib64/libmythtv-31.so.31
#3 0x00007fe5a448966d in () at /usr/lib64/libmythtv-31.so.31
#4 0x00007fe5a4531371 in TVRec::SetupSignalMonitor(bool, bool, bool)
() at /usr/lib64/libmythtv-31.so.31
#5 0x00007fe5a45384f0 in TVRec::TuningFrequency(TuningRequest const&)
() at /usr/lib64/libmythtv-31.so.31
#6 0x00007fe5a453d63c in TVRec::HandleTuning() () at
/usr/lib64/libmythtv-31.so.31
#7 0x00007fe5a453da67 in TVRec::run() () at /usr/lib64/libmythtv-
31.so.31
#8 0x00007fe5a3afc887 in MThread::run() () at /usr/lib64/libmythbase-
31.so.31
#9 0x00007fe5a27aaf4c in () at /usr/lib64/libQt5Core.so.5
#10 0x00007fe5a36c9f27 in start_thread () at /lib64/libpthread.so.0
#11 0x00007fe5a2393b7f in clone () at /lib64/libc.so.6

This looks wrong as gdb should have names for all the functions in
libmythtv-31. Is this a stripped image? Can you build an image with
debug symbols still present? That would be extremely helpful.

David


_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Segfault while tuning channel in mythtv 31.0 [ In reply to ]
On Fri, 17 Jul 2020 at 17:38, David Hampton <mythtv@love2code.net> wrote:

> On Fri, 2020-07-17 at 14:26 +0200, Thomas Börkel wrote:
> > Hi all,
> >
> > I just upgraded from mythtv 30.0 to 31.0 (fixes) on Gentoo and now I
> > get
> > a segfault when it is tuning a channel.
> >
> > Happens when EIT scan starts or when I start Live TV. Did not test
> > recording yet.
> >
> > Output in gdb for Live TV:
> >
> > Thread 8 "TVRecEvent" received signal SIGSEGV, Segmentation fault.
> > [Switching to Thread 0x7fe57b7fe700 (LWP 30677)]
> > 0x00007fe5a4651a6c in ?? () from /usr/lib64/libmythtv-31.so.31
> >
> > Attaching full gdb.txt.
> >
> > After upgrading, I went into mythtv-setup and noticed that the
> > "DVBInput" is configured as capture cards delivery system, which is
> > not
> > an option in the select box. So, I changed that to "DVB-S2". But that
> > did not change anything regarding the crash.
> >
> > Any hints would be greatly appreciated.
>
> I'm assuming that everything before line 480 is old cruft as it
> reference a Qt4 library. Qt4 hasn't been supported since 0.27. If
> those aren't old stack traces, start there. Current MythTV requires
> Qt5.
>
> The last stack frame in the file crashed here:
>
> Thread 8 (Thread 0x7fe57b7fe700 (LWP 30677)):
> #0 0x00007fe5a4651a6c in () at /usr/lib64/libmythtv-31.so.31
> #1 0x00007fe5a46523cf in () at /usr/lib64/libmythtv-31.so.31
> #2 0x00007fe5a465c036 in () at /usr/lib64/libmythtv-31.so.31
> #3 0x00007fe5a448966d in () at /usr/lib64/libmythtv-31.so.31
> #4 0x00007fe5a4531371 in TVRec::SetupSignalMonitor(bool, bool, bool)
> () at /usr/lib64/libmythtv-31.so.31
> #5 0x00007fe5a45384f0 in TVRec::TuningFrequency(TuningRequest const&)
> () at /usr/lib64/libmythtv-31.so.31
> #6 0x00007fe5a453d63c in TVRec::HandleTuning() () at
> /usr/lib64/libmythtv-31.so.31
> #7 0x00007fe5a453da67 in TVRec::run() () at /usr/lib64/libmythtv-
> 31.so.31
> #8 0x00007fe5a3afc887 in MThread::run() () at /usr/lib64/libmythbase-
> 31.so.31
> #9 0x00007fe5a27aaf4c in () at /usr/lib64/libQt5Core.so.5
> #10 0x00007fe5a36c9f27 in start_thread () at /lib64/libpthread.so.0
> #11 0x00007fe5a2393b7f in clone () at /lib64/libc.so.6
>
> This looks wrong as gdb should have names for all the functions in
> libmythtv-31. Is this a stripped image? Can you build an image with
> debug symbols still present? That would be extremely helpful.
>
> David
>
>
>
> There is one known bug in v31 that causes crashing in a similar way and
that happens when the dvb loopback driver is used instead of a real driver.
If that is the case then you have to stay with v30 until it is fixed or
recompile v31 with a patch.

Klaas.
Re: Segfault while tuning channel in mythtv 31.0 [ In reply to ]
> On 17 Jul 2020, at 17:37, David Hampton <mythtv@love2code.net> wrote:
>
> ?On Fri, 2020-07-17 at 14:26 +0200, Thomas Börkel wrote:
>> Hi all,
>>
>> I just upgraded from mythtv 30.0 to 31.0 (fixes) on Gentoo and now I
>> get
>> a segfault when it is tuning a channel.
>>
>> Happens when EIT scan starts or when I start Live TV. Did not test
>> recording yet.
>>
>> Output in gdb for Live TV:
>>
>> Thread 8 "TVRecEvent" received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 0x7fe57b7fe700 (LWP 30677)]
>> 0x00007fe5a4651a6c in ?? () from /usr/lib64/libmythtv-31.so.31
>>
>> Attaching full gdb.txt.
>>
>> After upgrading, I went into mythtv-setup and noticed that the
>> "DVBInput" is configured as capture cards delivery system, which is
>> not
>> an option in the select box. So, I changed that to "DVB-S2". But that
>> did not change anything regarding the crash.
>>
>> Any hints would be greatly appreciated.
>
> I'm assuming that everything before line 480 is old cruft as it
> reference a Qt4 library. Qt4 hasn't been supported since 0.27. If
> those aren't old stack traces, start there. Current MythTV requires
> Qt5.
>
> The last stack frame in the file crashed here:
>
> Thread 8 (Thread 0x7fe57b7fe700 (LWP 30677)):
> #0 0x00007fe5a4651a6c in () at /usr/lib64/libmythtv-31.so.31
> #1 0x00007fe5a46523cf in () at /usr/lib64/libmythtv-31.so.31
> #2 0x00007fe5a465c036 in () at /usr/lib64/libmythtv-31.so.31
> #3 0x00007fe5a448966d in () at /usr/lib64/libmythtv-31.so.31
> #4 0x00007fe5a4531371 in TVRec::SetupSignalMonitor(bool, bool, bool)
> () at /usr/lib64/libmythtv-31.so.31
> #5 0x00007fe5a45384f0 in TVRec::TuningFrequency(TuningRequest const&)
> () at /usr/lib64/libmythtv-31.so.31
> #6 0x00007fe5a453d63c in TVRec::HandleTuning() () at
> /usr/lib64/libmythtv-31.so.31
> #7 0x00007fe5a453da67 in TVRec::run() () at /usr/lib64/libmythtv-
> 31.so.31
> #8 0x00007fe5a3afc887 in MThread::run() () at /usr/lib64/libmythbase-
> 31.so.31
> #9 0x00007fe5a27aaf4c in () at /usr/lib64/libQt5Core.so.5
> #10 0x00007fe5a36c9f27 in start_thread () at /lib64/libpthread.so.0
> #11 0x00007fe5a2393b7f in clone () at /lib64/libc.so.6
>
> This looks wrong as gdb should have names for all the functions in
> libmythtv-31. Is this a stripped image? Can you build an image with
> debug symbols still present? That would be extremely helpful.


Hi Thomas,

Are you using a physical DVB adapter or a virtual one (like dvbloopback)? I’m experiencing similar issue where the issue is not in MythTV but in the virtual adapter. It has to do with the DVBv5 calls (FE_GET_PROPERTY) in v31. Commenting them (in dvbchannel.cpp) will get you back to a working version as a workaround.

Regards,

Charles
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Segfault while tuning channel in mythtv 31.0 [ In reply to ]
Hi,

Am 17.07.20 um 17:36 schrieb David Hampton:

> I'm assuming that everything before line 480 is old cruft as it
> reference a Qt4 library. Qt4 hasn't been supported since 0.27. If
> those aren't old stack traces, start there. Current MythTV requires
> Qt5.

I don't know why Qt4 is in there. I have only Qt5 installed.

> This looks wrong as gdb should have names for all the functions in
> libmythtv-31. Is this a stripped image? Can you build an image with
> debug symbols still present? That would be extremely helpful.

I rebuilt MythTV like described here:
https://www.mythtv.org/wiki/Debugging#Rebuild_with_debugging_symbols_intact

Regards,
Thomas
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Segfault while tuning channel in mythtv 31.0 [ In reply to ]
Hi,

Am 17.07.20 um 17:47 schrieb Klaas de Waal:

> There is one known bug in v31 that causes crashing in a similar way and
> that happens when the dvb loopback driver is used instead of a real driver.
> If that is the case then you have to stay with v30 until it is fixed or
> recompile v31 with a patch.

It is indeed a loopback driver. Is there a patch available?

Regards,
Thomas
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Segfault while tuning channel in mythtv 31.0 [ In reply to ]
Hi,

Am 17.07.20 um 18:03 schrieb Charles Bovy:

> Are you using a physical DVB adapter or a virtual one (like dvbloopback)? I’m experiencing similar issue where the issue is not in MythTV but in the virtual adapter. It has to do with the DVBv5 calls (FE_GET_PROPERTY) in v31. Commenting them (in dvbchannel.cpp) will get you back to a working version as a workaround.

Yes, dvbloopback. Thanks, I will try that.

Regards.
Thomas
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Segfault while tuning channel in mythtv 31.0 [ In reply to ]
On Sat, Jul 18, 2020 at 6:04 AM Thomas Börkel <thomas@boerkel.de> wrote:

> It is indeed a loopback driver. Is there a patch available?

As I recall, the upstream maintainer of the out of
tree driver has stated that they no longer use the
driver, so patches will need to come from others.

You might want to contact the developer to
see if they know of others working on the
issue and/or whether they will accept your
pull request.
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org