MythTV light frontend segfault on start - RP3+OSMC [SOLVED]

For discussion of topics specific to MythTV on Raspberry Pi devices
Post Reply
stevenable
Newcomer
Posts: 4
Joined: Thu Dec 22, 2016 6:30 pm
United States of America

MythTV light frontend segfault on start - RP3+OSMC [SOLVED]

Post by stevenable »

Mostly trying to get this to Mr. P.Bennet since I'm hoping he would be interested, and perhaps have a solution :)
I'm trying to use mythtv-light 0.28 installed on an OSMC based raspi3; currently just trying to get front-end to access backend on another system.
Since this is OSMC not Raspbian, the mythlight didn't install immediately (libcec3 dependency failed) so I had to install a few things from packages.debian
to get it loaded. And perhaps the differences between the two are why it is failing. But I thought I'd let you see if you have any suggestions. This appears
to be similar to other graphic level problems I've seen others have yet on some of those it was said 'just ignore it' (which i can't). I'll note too this same
corrupt stack problem exists if I try mythtv-setup but then i'm guessing they're using same windowing. I AM able to get other simple xapps to display (oh,
i'm currently displaying via xforwarding from my ssh connection). Here are some outputs that I hope are useful.

AH, I just noticed the difference in build vs runtime QT versions (5.3.2 vs 5.7.1), might that be enough of a difference?

$ mythfrontend
2016-12-22 13:45:12.511485 I Setup Interrupt handler
2016-12-22 13:45:12.511611 I Setup Terminated handler
2016-12-22 13:45:12.511635 I Setup Segmentation fault handler
2016-12-22 13:45:12.511656 I Setup Aborted handler
2016-12-22 13:45:12.511684 I Setup Bus error handler
2016-12-22 13:45:12.511711 I Setup Floating point exception handler
2016-12-22 13:45:12.511734 I Setup Illegal instruction handler
2016-12-22 13:45:12.511763 I Setup Real-time signal 0 handler
2016-12-22 13:45:12.511792 I Setup User defined signal 1 handler
2016-12-22 13:45:12.511818 I Setup User defined signal 2 handler
2016-12-22 13:45:12.511840 I Setup Hangup handler
2016-12-22 13:45:12.512281 C mythfrontend version: mythtv-fixes/0.28 [v0.28-97-ge9d0543] http://www.mythtv.org
2016-12-22 13:45:12.512313 C Qt version: compile: 5.3.2, runtime: 5.7.1
2016-12-22 13:45:12.512332 N Enabled verbose msgs: general
2016-12-22 13:45:12.512405 N Setting Log Level to LOG_INFO
2016-12-22 13:45:12.524099 I Added logging to the console
2016-12-22 13:45:12.524214 N Using runtime prefix = /usr
2016-12-22 13:45:12.524237 N Using configuration directory = /home/osmc/.mythtv
2016-12-22 13:45:12.524484 I Assumed character encoding: en_US.UTF-8
2016-12-22 13:45:12.526595 I Using localhost value of host
2016-12-22 13:45:12.666868 I Testing network connectivity to '192.168.0.102'
2016-12-22 13:45:12.667692 I Starting process signal handler
2016-12-22 13:45:12.667700 I Starting process manager
2016-12-22 13:45:12.667909 I Starting IO manager (write)
2016-12-22 13:45:12.667944 I Starting IO manager (read)
2016-12-22 13:45:12.944768 N Setting QT default locale to EN_US
2016-12-22 13:45:12.944844 I Current locale EN_US
2016-12-22 13:45:12.945033 N Reading locale defaults from /usr/share/mythtv//locales/en_us.xml
2016-12-22 13:45:13.338112 I ScreenSaverX11Private: DPMS is active.
2016-12-22 13:45:13.504986 N Desktop video mode: 1280x1024 59.999 Hz
2016-12-22 13:45:14.180382 I Listening on TCP 127.0.0.1:6547
2016-12-22 13:45:14.180533 I Listening on TCP [::1]:6547
2016-12-22 13:45:14.980266 I Loading en_us translation for module mythfrontend
2016-12-22 13:45:14.995062 W MythUIHelper: No theme dir: '/usr/share/mythtv/themes/Steppes'
2016-12-22 13:45:14.995104 E MythUIHelper: Could not find theme: Steppes - Switching to Terra
2016-12-22 13:45:15.224110 E LIRC: Failed to connect to Unix socket '/dev/lircd'
eno: No such file or directory (2)
2016-12-22 13:45:15.224261 I No joystick configuration found, not enabling joystick control
libcec.so.3.0: cannot open shared object file: No such file or directory
2016-12-22 13:45:15.517143 E CECAdapter: Failed to load libcec.
2016-12-22 13:45:15.517287 I UDPListener: Enabling
2016-12-22 13:45:15.578320 I Binding to UDP 127.0.0.1:6948
2016-12-22 13:45:15.578451 I Binding to UDP [::1]:6948
2016-12-22 13:45:17.508760 I Using Frameless Window
2016-12-22 13:45:17.508778 I Using Full Screen Window
Handling Segmentation fault
Segmentation fault (core dumped)

$ gdb /usr/bin/mythfrontend core
[clipped initial startup stuff]
Core was generated by `mythfrontend'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x70ec623c in platform_get_handle () from /opt/vc/lib/libEGL.so
(gdb) bt
#0 0x70ec623c in platform_get_handle () from /opt/vc/lib/libEGL.so
#1 0x70ebbeb4 in eglCreateWindowSurface () from /opt/vc/lib/libEGL.so
#2 0x6d77fb94 in ?? () from /usr/lib/arm-linux-gnueabihf/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so
Backtrace stopped: previous frame identical to this frame (corrupt stack?)


$ mythfrontend --version
Please attach all output as a file in bug reports.
MythTV Version : v0.28-97-ge9d0543
MythTV Branch : mythtv-fixes/0.28
Network Protocol : 88
Library API : 0.28.20161120-1
QT Version : 5.3.2
Options compiled in:
linux profile use_hidesyms using_alsa using_oss using_pulse using_pulseoutput using_backend using_bindings_perl using_bindings_python using_bindings_php using_dvb using_firewire using_frontend using_hdhomerun using_vbox using_ceton using_hdpvr using_ivtv using_joystick_menu using_libcec using_libcrypto using_libdns_sd using_libfftw3 using_libxml2 using_lirc using_mheg using_opengl using_qtwebkit using_qtscript using_qtdbus using_taglib using_v4l2 using_x11 using_xrandr using_xv using_profiletype using_bindings_perl using_bindings_python using_bindings_php using_freetype2 using_mythtranscode using_opengl using_opengles using_openmax using_ffmpeg_threads using_mheg using_libass using_libxml2
Last edited by stevenable on Sun Feb 05, 2017 6:43 pm, edited 1 time in total.
rcarballo
Junior
Posts: 20
Joined: Sat Oct 08, 2016 1:39 am
United States of America

Re: MythTV light frontend segfault on window create - RP3+OS

Post by rcarballo »

Why not use the MythTV plug-in that you can load from OSMC's repository?
Just enable the PVR in the OSMC settings and you can then install the MythTV plug-in. The configuration is self-explanatory.

/AC
stevenable
Newcomer
Posts: 4
Joined: Thu Dec 22, 2016 6:30 pm
United States of America

Re: MythTV light frontend segfault on window create - RP3+OS

Post by stevenable »

That I have done, i was trying to see how the myth front end would work, no reason it shouldn't run. Would like to get a comparison, see which I prefer as a pi frontend. But thank you for the suggestion.
stevenable
Newcomer
Posts: 4
Joined: Thu Dec 22, 2016 6:30 pm
United States of America

SOLVED -- Re: MythTV light frontend segfault on window creat

Post by stevenable »

Acting on the fact that the compiled Qt version was 5.3.2 while I was running 5.7.1, i removed all my libqt5* pkgs then reinstalled the 5.3.2 versions. It was messy because i had to work with dpkg instead of apt so had to manually download and install from the .deb files. Then had to use 'apt -f install' to fix the broken dependencies. But once that was done, it worked! It was able to create the screen via x11-forwarding. Unfortunately due to this being 0.28 and my backend being 0.27 i wasn't able to go further (didn't want to break my current myth install).

But I can report that there is certainly an incompatibility between 5.3.2 and 5.7.1 versions of libQT5. Of course this may have in turn broken OSMC/Kodi so I'm not claiming it is a good solution (not even sure if it uses those libs) But it appears getting mythtv rebuilt with newer version of QT may also allow me to run with consistent versions.

I should note that to resolve the original dependency problem in attempting to install mythtv-light that wanted libcec3, i had added debian.org 'sid' repo to my apt sources. This is perhaps where it pulled the newer versions because once I removed that entry, the only version apt saw was 5.3.2. So I may try this again with a different approach to resolving libcec3 but not referencing the other repo.

Still interested if Peter has any specific comments but did want to flag that I had a working solution.
rcarballo
Junior
Posts: 20
Joined: Sat Oct 08, 2016 1:39 am
United States of America

Re: MythTV light frontend segfault on window create - RP3+OS

Post by rcarballo »

I see what you're trying to do.
============================
I can give you feedback on which Pi frontend to use. I own three (3) RPi3s and I have installed and used the KODI plug-in (OPENELEC, OSMC, and LIBRELEC) and Peter's MythTV Light using Raspbian.

My main complaint about the KODI plug-in is that its interface is truly non-intuitive to non-geek.
I had adults and children use the plug-in and eventually they find themselves back to the main menu with the video playing in the background.
At that point is a lost cause as they simply have no clue how to get rid of the main menu and get back to LIVE TV or the recording. This has been the main impediment to the rest of the family to embrace the RPis....That's when I found MythTV Light.

The MythTV Front-end menus are easier to navigate and there is no way to get lost. My version has a simplified menu that mimics my cable box: DVR, LIVE TV, TV GUIDE, SETUP. I got rid of a bunch of menu items that were just overkill for our needs. I also modified the behavior so that the user cannot accidentally shut down the application. I switched all of my RPis to Peter's MythTV Light running the latest Raspbian image. I bought 2 cheap TV controllers and paired them with FLIRC adaptors.

Subtitles cannot be shown w/MythTV Light if you are using hardware video decoding for USA-based TV or recordings. Subtitles work flawlessly under OPENELEC, OSMC, and LIBRELEC. If you want subtitles under MythTV Light, you will need to turn off hardware decoding---RPi will run hot if you do so. My advice is to use hardware video decoding.

Performance has never been an issue with the RPi3 with or without hardware video decoding. I'm running wired ethernet (100MB). I did test a 1GB ethernet adaptor but saw no difference in performance. As some people already know the data bus for the RPis is shared by the CPU and GPU. Thus, trying to force a bigger funnel into a smaller one, doesn't buy you anything in performance on this board.

I just received an Orange Pi +2. This board has a 1GB ethernet adaptor and the data bus is not shared between the CPU and GPU. MythTV Light needs OpenMAX to run but the Armbian image that I installed does not have it. I'll need to build it and install. I want to see what performance differences I get between it and RPi3 with MythTV Light.

/Antonio
tose
Newcomer
Posts: 3
Joined: Fri Dec 30, 2016 3:38 am
Australia

Re: MythTV light frontend segfault on window create - RP3+OS

Post by tose »

I have both an RPi3 and Orange Pi PC Plus (H3), each operating as a MythTV (0.28) Frontend. I wouldn't try to go down the MythTV-Light road for the OPi H3 devices. My understanding is that the MythTV-Light packages were configured with only OpenMax support enabled. The H3 processor OPi devices employ VDPAU, so a much easier path to a working OPi (H3) MythTV Frontend is:-

1) Install the latest available Armbian image for your device & do an apt-get upgrade to install latest packages.
2) Configure Deb Multimedia armhf Jessie & Jessie-Backports repositories in /etc/apt/sources.list & install the deb multimedia keyring. Then apt-get update.
3) In a root terminal:- apt-get -t jessie-backports install mythtv-frontend

It should really be as simple as that. I'm leaning towards a preference for the RPi because:-

1) I can power the RPi off a TV's USB Service port (not so the OPi). So, just use the TV remote to turn TV on, & hey presto, RPi boots.
2) While video playback performance is comparable with either device, the OPi shows noticeable de-interlacing issues for fast motion video like sports, that I haven't yet solved (contributions welcome however). It is fine otherwise.

I do like the option to install the OS to onboard eMMC on the OPi however.
tose
Newcomer
Posts: 3
Joined: Fri Dec 30, 2016 3:38 am
Australia

Re: MythTV light frontend segfault on window create - RP3+OS

Post by tose »

Oh, and to bring this back to the OP's initial enquiry, the dependency problem with libcec3 is obviously because it doesn't exist in any of his "configured" apt repositories. I too went down the path of selectively installing packages with dpkg to try to work around my install issues, but it can pretty quickly get messy going that path.

When I found that the Deb Multimedia Jessie-Backports repo included libcec3, and enabled both it & stable, my mythtv-frontend install went smoothly.

I have no experience with OSMC, but I believe it's Debian Jessie based. So a fresh start with OSMC & enabling the Deb Multimedia jessie-backport repo (& maybe the deb multimedia stable repo also) might be worth a try to get a cleaner install of the MythTV-Light packages.

Happy to elaborate if anything not clear in my posts.
stevenable
Newcomer
Posts: 4
Joined: Thu Dec 22, 2016 6:30 pm
United States of America

Re: MythTV light frontend segfault on window create - RP3+OS

Post by stevenable »

Thank you Tose, I wish I was more knowledgeable about all the things to do with dpkg/apt. I will have to try your 'backport' reference once I understand it. You are correct that OSMC is debian jessie but they've manually loaded most of the packages and apt doesn't like to override manual installs. Right now I've gone back and am trying Raspbian; the mythtv light install there worked like a charm (without any special action).

Cheers and Happy New Year all.
tose
Newcomer
Posts: 3
Joined: Fri Dec 30, 2016 3:38 am
Australia

Re: MythTV light frontend segfault on window create - RP3+OS

Post by tose »

You're welcome stevenable. Backports is a separate repository for any given release (in this case Jessie). Think of it as a set of packages that are otherwise only available in the "testing" repository (and occasionally "unstable"), but recompiled for use in the stable release. So, for the sake of this example, if you wanted to enable both the Jessie & Jessie-backports repositories from Deb Multimedia, you would add the following lines to your /etc/apt/sources.list :-

Code: Select all

deb http://www.deb-multimedia.org stable main 
deb http://www.deb-multimedia.org stable-backports main
Then install the deb-multimedia-keyring package from the stable/Jessie set & finally do an "apt-get update" and you'd be good to go.
Post Reply