Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 633926 - lxqt-base/lxqt-panel segfaults since qt 5.9.2
Summary: lxqt-base/lxqt-panel segfaults since qt 5.9.2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: LxQt maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-10 10:15 UTC by acab
Modified: 2018-08-17 23:59 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge info (qt and panel) (emerge-info.log,6.24 KB, text/x-log)
2017-10-10 10:15 UTC, acab
Details

Note You need to log in before you can comment on or make changes to this bug.
Description acab 2017-10-10 10:15:17 UTC
Created attachment 498290 [details]
emerge info (qt and panel)

After upgrading from dev-qt/qtgui-5.7.1-r1 to dev-qt/qtgui-5.9.2 lxqt becomes unusable due to the panel crashing repeatedly. I've played a bit with the panel plugins and managed to get my desktop back by re-emerging lxqt-panel with USE="-quicklaunch". Incidentally, re-emerging with qt >= 5.8 will plain fail due to this: https://github.com/lxde/lxqt/issues/1251

At any rate, the core of the issue appears to be related to the display of certain icons and the crash can be triggered by opening the start menu and browsing around; at some point (probably due to some "nasty" icon) panel will segfault.
The bt looks like this:
#0  0x00007f61bfacc24f in QPixmap::QPixmap(QPixmap const&) () from /usr/lib64/libQt5Gui.so.5
#1  0x00007f61bfacf81f in ?? () from /usr/lib64/libQt5Gui.so.5
#2  0x00007f61bd75dd7e in ?? () from /usr/lib64/libQt5XdgIconLoader.so.2
#3  0x00007f61bd75d2a9 in XdgIconLoaderEngine::pixmap(QSize const&, QIcon::Mode, QIcon::State) () from /usr/lib64/libQt5XdgIconLoader.so.2
#4  0x00007f61bfad8c8b in QIcon::pixmap(QWindow*, QSize const&, QIcon::Mode, QIcon::State) const () from /usr/lib64/libQt5Gui.so.5
#5  0x00007f61bfad8cfe in QIcon::pixmap(QSize const&, QIcon::Mode, QIcon::State) const () from /usr/lib64/libQt5Gui.so.5
#6  0x00007f61c0041f9b in ?? () from /usr/lib64/libQt5Widgets.so.5
#7  0x00007f61c0023b90 in ?? () from /usr/lib64/libQt5Widgets.so.5
#8  0x00007f61c00f4807 in QMenu::paintEvent(QPaintEvent*) () from /usr/lib64/libQt5Widgets.so.5
#9  0x00007f61bffb6400 in QWidget::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#10 0x00007f61c00fbfc3 in QMenu::event(QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#11 0x0000000000469cb2 in XdgCachedMenu::event(QEvent*) ()
#12 0x00007f61bff771fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#13 0x00007f61bff7ea61 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#14 0x00007f61bf71ce6a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#15 0x00007f61bffaf33a in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib64/libQt5Widgets.so.5
#16 0x00007f61bffaf99f in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQt5Widgets.so.5
#17 0x00007f61bff86f0f in ?? () from /usr/lib64/libQt5Widgets.so.5
#18 0x00007f61bff876f5 in ?? () from /usr/lib64/libQt5Widgets.so.5
#19 0x00007f61bffd1e4c in ?? () from /usr/lib64/libQt5Widgets.so.5
#20 0x00007f61bffd2863 in ?? () from /usr/lib64/libQt5Widgets.so.5
#21 0x00007f61bff771fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#22 0x00007f61bff7ea61 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#23 0x00007f61bf71ce6a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#24 0x00007f61bfa6cbed in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /usr/lib64/libQt5Gui.so.5
#25 0x00007f61bfa6d87d in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib64/libQt5Gui.so.5
#26 0x00007f61bfa4a85b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Gui.so.5
#27 0x00007f61b66de550 in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#28 0x00007f61c17025a7 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#29 0x00007f61c1702810 in ?? () from /usr/lib64/libglib-2.0.so.0
#30 0x00007f61c17028bc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#31 0x00007f61bf76d58f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#32 0x00007f61bf71bbaa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#33 0x00007f61bf724094 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5
#34 0x000000000042b8d4 in main ()
Comment 1 Thomas Capricelli 2017-10-12 13:07:30 UTC
I can confirm. Not only that, but it doesn't compile anymore. I tried re-emerging lxqt-panel hoping to fix the crash, but I got : 



cd /tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0_build/plugin-volume && /usr/bin/x86_64-pc-linux-gnu-g++ -DLXQT_DATA_DIR=\"/usr/share\" -DLXQT_ETC_XDG_DIR=\"/etc/xdg\" -DLXQT_GRAPHICS_DIR=\"/usr/share/lxqt/graphics\" -DLXQT_RELATIVE_SHARE_DIR=\"lxqt\" -DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"lxqt/translations\" -DLXQT_SHARE_DIR=\"/usr/share/lxqt\" -DLXQT_SHARE_TRANSLATIONS_DIR=\"/usr/share/lxqt/translations\" -DLXQT_VERSION=\"0.11.0\" -DPLUGIN_DIR=\"/usr/lib64/lxqt-panel\" -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQT_XML_LIB -DUSE_ALSA -DWITH_CLOCK_PLUGIN -DWITH_DESKTOPSWITCH_PLUGIN -DWITH_MAINMENU_PLUGIN -DWITH_QUICKLAUNCH_PLUGIN -DWITH_SHOWDESKTOP_PLUGIN -DWITH_STATUSNOTIFIER_PLUGIN -DWITH_TASKBAR_PLUGIN -DWITH_TRAY_PLUGIN -Dvolume_EXPORTS -I/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0_build/plugin-volume -I/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0/plugin-volume -I/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0_build/plugin-volume/volume_autogen/include -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/lxqt -isystem /usr/include/lxqt/LXQt -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5 -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5xdg -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5xdgiconloader -isystem /usr/include/qt5xdgiconloader/2.0.0 -isystem /usr/include/qt5/QtSvg -isystem /usr/include/lxqt-globalkeys   -DNDEBUG -march=native -pipe -O2 -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -fPIC   -Wall -fPIC -std=gnu++11 -o CMakeFiles/volume.dir/volume_autogen/mocs_compilation.cpp.o -c /tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0_build/plugin-volume/volume_autogen/mocs_compilation.cpp
/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0/plugin-kbindicator/src/x11/kbdlayout.cpp:36:18: error: ‘_explicit’ does not name a type
 #define explicit _explicit
                  ^
/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0/plugin-kbindicator/src/x11/kbdlayout.cpp:36:18: error: ‘_explicit’ does not name a type
 #define explicit _explicit
                  ^
/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0/plugin-kbindicator/src/x11/kbdlayout.cpp:36:18: error: ‘_explicit’ does not name a type
 #define explicit _explicit
                  ^
/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0/plugin-kbindicator/src/x11/kbdlayout.cpp:36:18: error: ‘_explicit’ does not name a type
 #define explicit _explicit
                  ^
/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0/plugin-kbindicator/src/x11/kbdlayout.cpp:36:18: error: ‘_explicit’ does not name a type
 #define explicit _explicit
                  ^
/tmp/portage/lxqt-base/lxqt-panel-0.11.0/work/lxqt-panel-0.11.0/plugin-kbindicator/src/x11/kbdlayout.cpp:36:18: error: ‘_explicit’ does not name a type
 #define explicit _explicit
                  ^
Comment 2 Chiitoo gentoo-dev 2017-11-06 20:19:05 UTC
Until I (or someone else) gets the 0.12.0 packages sorted and out (hopefully it's not too far away from now), if one feels adventurous enough, one could try the live ebuilds from the qt-overlay.

They should be especially interesting in cases like this, where it's not even possible to re-build the current packages.

One should note though, that there definitely may be issues lurking about, that I'm not aware of at the time of writing, and that they're only for those willing to break their system.  :]
Comment 3 Paolo Pedroni 2017-11-07 11:17:48 UTC
Just drop the patch in the github issue referenced in the original bug report in  /etc/portage/patches/lxqt-base/lxqt-panel/ and you're good to go, without messing with overlays and live ebuild...
Comment 4 Andy Kittner 2017-11-16 21:15:31 UTC
I've been running the 0.12 ebuilds from this PR for a while now:
https://github.com/gentoo/gentoo/pull/5806

Segfaults are gone in both the panel and lxqt-runner (while a rebuild with the patch did not help with those, at least for me)
Comment 5 Chiitoo gentoo-dev 2017-11-16 21:45:38 UTC
(In reply to Andy Kittner from comment #4)
> I've been running the 0.12 ebuilds from this PR for a while now:
> https://github.com/gentoo/gentoo/pull/5806

Ah, they've gone for a full bump with that one.

Thanks for the heads-up; this saves me from duplicating work!
Comment 6 Zdenek Sojka 2018-03-25 12:48:43 UTC
dev-qt/qtgui-5.9 is now stable, but lxqt-0.12 is not in the tree; after clean upgrade, lxqt is not starting
Comment 7 Michael Jones 2018-03-26 08:13:42 UTC
I'm also broken. My desktop environment won't start with similar back traces to the original post here.

Is lxqt testing part of the qt stabilization process? I suppose not?
Comment 8 Thomas Capricelli 2018-03-26 13:48:03 UTC
lxqt in gentoo is basically unmaintained, it's been broken in various ways for quite some time now. I've moved to another desktop ;-(
Comment 9 João P. Teixeira 2018-03-28 13:41:11 UTC
Same thing here. lxqt-panel causes segfaults like:

lxqt-panel[7290]: segfault at 7f71e8ba23b3 ip 00007f71eb5d0990 sp 00007ffff49049e0 error 7 in libQt5Gui.so.5.9.4[7f71eb476000+48d000]

Maybe version bump request in 

Bug 605266 - lxqt-base/lxqt-meta-0.12.0 version bump 

could be addressed.
Comment 10 kalle 2018-03-30 18:19:39 UTC
I use the ebuilds from 

https://github.com/gentoo/gentoo/pull/7026 

and it work fine for me on amd64.
Comment 11 Martin Gebert 2018-04-27 06:50:30 UTC
The ebuilds from that pull request worked for me on x86, too, though it was a bit tedious to integrate them into my local repository. Useful hint how to check out that branch:

https://stackoverflow.com/a/14969986
Comment 12 Chiitoo gentoo-dev 2018-08-17 23:59:59 UTC
Since 0.13.0 is finally in Portage, it should be safe to say this is fixed with it.

I imagine we'll get the stable 0.11.0 replaced with it as soon as possible.