running version 31-fixes from arch aur. i run 3 plugins, mythmusic, mythnews and mythweather. mythweather causes the frontend to exit with a segfault after displaying the weather data. i am in the united states and use those scripts, the data is correctly gathered and displayed and i can navigate through the 3 screens i have setup (current, 3 day, 6 day) but when i escape to return to myth main menu. i get a segault with this message when i run from terminal to gather messages:
2020-04-20 14:11:59.240731 E Widget not found updatetime
2020-04-20 14:11:59.245388 E Widget not found updatetime
2020-04-20 14:11:59.245411 I Starting update of NDFD-6_day
2020-04-20 14:11:59.250537 I Starting update of NWS-XML
2020-04-20 14:12:00.816036 E Widget not found updatetime
2020-04-20 14:12:00.816904 E Widget not found updatetime
Handling Segmentation fault
Segmentation fault (core dumped)
i am using mythbuntu theme, but have tried others with same result. i have tried building from source in mythplugins directory with same result. i have also built from source in master branch and built from mythplugins source with same result and recently plugins were packaged in aur for myth31-fixes. this happens on backend machine and different machines used for frontends. b/e machine with frontend is nvidia. frontends it fails on are intel graphics based and amd graphics based. all machines are very current on arch system.
does anyone have any idea what i could try to correct this, or is this stuff so old it just can't run anymore ?
mythweather plugin 31-fixes segfault issue [Solved]
Moderator: Forum Moderators
mythweather plugin 31-fixes segfault issue [Solved]
Last edited by glenb on Wed Apr 22, 2020 1:06 pm, edited 1 time in total.
Re: mythweather plugin 31-fixes segfault issue
Looks like something got broke I can also reproduce it in master
Unfortunately non of the plugins have any maintainers any more so this is unlikely to get fixed.
For anyone who want to try to fix it this is the BT (nothing stands out to me why it should crash there so it's going to require some investigation by someone).
Unfortunately non of the plugins have any maintainers any more so this is unlikely to get fixed.
For anyone who want to try to fix it this is the BT (nothing stands out to me why it should crash there so it's going to require some investigation by someone).
Code: Select all
Thread 1 "mythfrontend" received signal SIGSEGV, Segmentation fault.
0x00007ffff3142f24 in QRegion::subtracted(QRegion const&) const () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
(gdb) thread full
Invalid thread ID: full
(gdb) bt full
#0 0x00007ffff3142f24 in QRegion::subtracted(QRegion const&) const () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#1 0x00007ffff3143132 in QRegion::operator-(QRegion const&) const () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#2 0x00007ffff314318f in QRegion::operator-=(QRegion const&) () at /lib/x86_64-linux-gnu/libQt5Gui.so.5
#3 0x00007ffff6d8f328 in MythUIType::Draw(MythPainter*, int, int, int, QRect) (this=0x31003100300030, p=0x555555b3e7d0, xoffset=0, yoffset=0, alphaMod=255, clipRect=...) at mythuitype.cpp:474
realArea = {x1 = -12496, y1 = 32767, x2 = 1453048992, y2 = 21845}
it = {i = 0x5555569bc4a0}
#4 0x00007ffff6d3c7de in MythMainWindow::Draw(MythPainter*) (this=0x555555a782a0, Painter=0x555555b3e7d0) at mythmainwindow.cpp:482
screen = @0x5555569bc4b8: 0x31003100300030
_container_ = {c = {d = 0x5555569bc4a0}, i = 0x5555569bc4b8, e = 0x5555569e6f60, control = 1}
redrawList = {d = 0x5555569bc4a0}
widget = @0x555555a784d8: 0x555556d75820
_container_ = {c = {d = 0x555555a784a0}, i = 0x555555a784d8, e = 0x555555a784e0, control = 1}
rect = @0x55555697b610: {x1 = 0, y1 = 0, x2 = 1279, y2 = 719}
__for_range = @0x555555a782e0: {d = 0x7fff20013f00, static shared_empty = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, qt_rgn = 0x7ffff3323960}}
__for_begin = 0x55555697b610
__for_end = 0x55555697b620
#5 0x00007ffff6d3c48b in MythMainWindow::drawScreen(QPaintEvent*) (this=0x555555a782a0, Event=0x0) at mythmainwindow.cpp:445
#6 0x00007ffff6e97791 in MythPainterWindowOpenGL::paintEvent(QPaintEvent*) (this=0x555555c0e3d0) at opengl/mythpainterwindowopengl.cpp:50
#7 0x00007ffff62d104e in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff628ea86 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9 0x00007ffff6297e00 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff258da2a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007ffff62c9bba in QWidgetPrivate::sendPaintEvent(QRegion const&) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff62ca3f9 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff629ed7d in QWidgetPrivate::repaint_sys(QRegion const&) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007ffff62b8f38 in QWidgetPrivate::syncBackingStore() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff62d1408 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff628ea86 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff6297e00 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff258da2a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007ffff25906a8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff25e6037 in () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007fffec41e8bd in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00007fffec41eb40 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#23 0x00007fffec41ebe3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffff25e5635 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007ffff258c5cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007ffff2594336 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00005555555dfc3d in main(int, char**) (argc=3, argv=0x7fffffffdfa8) at main.cpp:2187
bPromptForBackend = false
bBypassAutoDiscovery = false
cmdline =
{<MythCommandLineParser> = {_vptr.MythCommandLineParser = 0x555555947f40 <vtable for MythFrontendCommandLineParser+16>, m_appname = {static null = {<No data fields>}, d = 0x5555559c4ea0}, m_optionedArgs = {d = 0x5555559c5440}, m_namedArgs = {d = 0x5555559c53b0}, m_passthroughActive = false, m_overridesImported = true, m_verbose = false}, <No data fields>}
callCleanup = {m_cleanFunction = 0x5555555d0f43 <(anonymous namespace)::cleanup()>}
signallist = {<QListSpecialMethods<int>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x555555a7dee0}, d = 0x555555a7dee0}}
retval = 0
ResetSettings = false
__FUNCTION__ = "main"
fileprefix = {static null = {<No data fields>}, d = 0x555555a76340}
dir = {d_ptr = {d = 0x555555a89280}}
bonjour = {d = 0x555555bcf590}
themename = {static null = {<No data fields>}, d = 0x555555c309b0}
themedir = {static null = {<No data fields>}, d = 0x555555c765d0}
mainWindow = 0x555555a782a0
mon = 0x5555563c0d50
networkControl = 0x0
themeUpdateChecker = 0x555556204c80
sysEventHandler = 0x5555561fea50
bcm =
{<QObject> = {<No data fields>}, static staticMetaObject = {d = {superdata = 0x7ffff283e980 <QObject::staticMetaObject>, stringdata = 0x55555589cb00 <qt_meta_stringdata_BackendConnectionManager>, data = 0x55555589cb80 <qt_meta_data_BackendConnectionManager>, static_metacall = 0x555555853148 <BackendConnectionManager::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, m_reconnecting = 0x0, m_reconnect_timer = 0x5555561f3a80, m_reconnect_again = false}
housekeeping = 0x555556c45530
ret = -1
Re: mythweather plugin 31-fixes segfault issue
A quick follow up on this. It turns out this was caused by some code clean up that didn't quite work as intended so has be reverted by David Hampton.
https://github.com/MythTV/mythtv/commit/917a2087ef032b
https://code.mythtv.org/trac/ticket/13613
I've tested master and it works now. Please update and test fixes/31 and report back.
https://github.com/MythTV/mythtv/commit/917a2087ef032b
https://code.mythtv.org/trac/ticket/13613
I've tested master and it works now. Please update and test fixes/31 and report back.
Re: mythweather plugin 31-fixes segfault issue
my backend currently recording, but tested on a frontend, and it works now! thanks so much for looking into and fixing this. i appreciate your time and help..
- Steve Goodey
- Moderator
- Posts: 220
- Joined: Fri Feb 07, 2014 6:30 pm
- Location: Colchester, England
Re: mythweather plugin 31-fixes segfault issue
Hello,
If you're happy with the fix could you possibly added [Solved] to the subject line in the first post?
Ta.
If you're happy with the fix could you possibly added [Solved] to the subject line in the first post?
Ta.
Don't forget the Wiki.