Bug 393615

Summary: systemsettings5 > App Style > QtCurve config crash
Product: [Applications] systemsettings Reporter: NEOAethyr
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 5.12.4   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description NEOAethyr 2018-04-28 16:03:12 UTC
Application: systemsettings5 (5.12.4)

Qt Version: 5.9.5
Frameworks Version: 5.44.0
Operating System: Linux 4.15.0-20-generic x86_64
Distribution: Ubuntu 18.04 LTS

-- Information about the crash:
Kubuntu v18.04, release build

apt-get install qtcurve

Cmd: systemsettings5
Application Style...
Widget Style... > QtCurve
..
kf5.kxmlgui: cannot find .rc file "QtCurveui.rc" for component "QtCurve"
pure virtual method called
terminate called without an active exception
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = systemsettings5 path = /usr/bin pid = 1293
KCrash: Arguments: /usr/bin/systemsettings5 
KCrash: Attempting to start /usr/lib/x86_64-linux-gnu/libexec/drkonqi from kdeinit
sock_file=/run/user/0/kdeinit5__0


Empty file created at: /usr/local/share/kxmlgui5/QtCurve/QtCurveui.rc
Not actually sure if that's where it's supposed to go but.., it gives this:

Error parsing XML document: "unexpected end of file" at line 2 column 1
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = systemsettings5 path = /usr/bin pid = 1451
KCrash: Arguments: /usr/bin/systemsettings5 
KCrash: Attempting to start /usr/lib/x86_64-linux-gnu/libexec/drkonqi from kdeinit
sock_file=/run/user/0/kdeinit5__0

May be releated commit:
https://cgit.kde.org/qtcurve.git/commit/?id=35f231376fae0523219f11ecd750a2f12622d54b

Previously built a later ver on Kubuntu17.10 at it was doing the same thing though.
I Don't think I have a default qtcurve5 rc file as far as I know...
It was working fine by default on Kubuntu 17.10.

Fesh install, bunch of other packeages installed.
Very little customation.

I know you can set the env varible but like I said I don't have a config file I think anyways.
And I'm not actually sure if that's the real reason it's crashing.

There's also no KDE_INSTALL_KXMLGUI5DIR env varible on this setup...
I don't know if that matters.

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fb94c9f8800 (LWP 1851))]

Thread 7 (Thread 0x7fb917fff700 (LWP 1858)):
#0  0x00007fb9445f99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55c8471ecda8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55c8471ecd58, cond=0x55c8471ecd80) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55c8471ecd80, mutex=0x55c8471ecd58) at pthread_cond_wait.c:655
#3  0x00007fb928f6c86b in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#4  0x00007fb928f6c6e7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#5  0x00007fb9445f36db in start_thread (arg=0x7fb917fff700) at pthread_create.c:463
#6  0x00007fb94844d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fb91ecdc700 (LWP 1857)):
#0  0x00007fb9445f99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55c8471ecc40) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55c8471ecbf0, cond=0x55c8471ecc18) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55c8471ecc18, mutex=0x55c8471ecbf0) at pthread_cond_wait.c:655
#3  0x00007fb928f6c86b in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#4  0x00007fb928f6c6e7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#5  0x00007fb9445f36db in start_thread (arg=0x7fb91ecdc700) at pthread_create.c:463
#6  0x00007fb94844d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fb91f4dd700 (LWP 1856)):
#0  0x00007fb9445f99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55c8471ecad8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55c8471eca88, cond=0x55c8471ecab0) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55c8471ecab0, mutex=0x55c8471eca88) at pthread_cond_wait.c:655
#3  0x00007fb928f6c86b in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#4  0x00007fb928f6c6e7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#5  0x00007fb9445f36db in start_thread (arg=0x7fb91f4dd700) at pthread_create.c:463
#6  0x00007fb94844d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fb91fcde700 (LWP 1855)):
#0  0x00007fb9445f99f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55c8471ec970) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55c8471ec920, cond=0x55c8471ec948) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55c8471ec948, mutex=0x55c8471ec920) at pthread_cond_wait.c:655
#3  0x00007fb928f6c86b in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#4  0x00007fb928f6c6e7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#5  0x00007fb9445f36db in start_thread (arg=0x7fb91fcde700) at pthread_create.c:463
#6  0x00007fb94844d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fb92bb89700 (LWP 1854)):
#0  0x00007fb94843c0b4 in __GI___libc_read (fd=7, buf=0x7fb92bb88b60, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007fb9422e7960 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb9422a2f27 in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb9422a33e0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fb9422a354c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb948d8e90b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fb948d339ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fb948b5222a in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fb94a698d45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007fb948b5716d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007fb9445f36db in start_thread (arg=0x7fb92bb89700) at pthread_create.c:463
#11 0x00007fb94844d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fb939aa1700 (LWP 1853)):
#0  0x00007fb948440bf9 in __GI___poll (fds=0x7fb939aa0ca8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fb944182747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fb94418436a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fb93c84e2a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007fb948b5716d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fb9445f36db in start_thread (arg=0x7fb939aa1700) at pthread_create.c:463
#6  0x00007fb94844d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fb94c9f8800 (LWP 1851)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#7  0x00007fb94836c801 in __GI_abort () at abort.c:79
#8  0x00007fb94bf57c8e in KXMLGUIClient::setXML(QString const&, bool) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#9  0x00007fb94bf586e2 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#10 0x00007fb94bf751ee in KXmlGuiWindow::createGUI(QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#11 0x00007fb917364621 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kstyle_qtcurve5_config.so
#12 0x00007fb91736d21d in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kstyle_qtcurve5_config.so
#13 0x00007fb91737b71c in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kstyle_qtcurve5_config.so
#14 0x00007fb91737b851 in allocate_kstyle_config () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kstyle_qtcurve5_config.so
#15 0x00007fb9175f0613 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/kcm_style.so
#16 0x00007fb948d646cf in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007fb949e36b82 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007fb949e36d9a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007fb949e3817a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007fb949e3836d in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007fb949d84038 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007fb949d4582c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007fb949d4d64f in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007fb948d359a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#25 0x00007fb949d4c622 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007fb949d9f14b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007fb949da17ba in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007fb949d4582c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007fb949d4d0f4 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007fb948d359a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007fb949589523 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#32 0x00007fb94958aff5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#33 0x00007fb9495622eb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#34 0x00007fb93c8b11c0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#35 0x00007fb9422a3287 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007fb9422a34c0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007fb9422a354c in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007fb948d8e8ef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007fb948d339ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00007fb948d3ca84 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x000055c845291e44 in ?? ()
#42 0x00007fb94834db97 in __libc_start_main (main=0x55c845291a40, argc=1, argv=0x7ffca7fe5d88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffca7fe5d78) at ../csu/libc-start.c:310
#43 0x000055c845291eca in _start ()

Possible duplicates by query: bug 185376.

Reported using DrKonqi
Comment 1 NEOAethyr 2018-04-29 15:18:16 UTC
Sorry for the typos the other day.
Anyways to make a long story short..
Reinstalled fresh in a virtualbox machine..
I made sure to apt-get install qtcurve from the get go.
Worked.
Did some mods, all good, installed 2 gig's of packages, all good.
I'll mark this as resolved for now.
I'll also compile the git ver later and see if that has an issue and I'll try to figure that out if it does.
Comment 2 NEOAethyr 2018-04-30 12:48:20 UTC
After the os reinstall yesterday, with no probs.
This morning I went to compile the latest git ver.
Same issue as before, config dialog crashes.

git clone "git://anongit.kde.org/qtcurve.git"
apt-get build-dep qtcurve
cd "./qtcurve"
mkdir "./build"
cd "./build"
cmake .. -Wno-dev -DENABLE_QT4=On -DENABLE_QT5=On -DENABLE_GTK2=On -DQTC_ENABLE_X11=On -DQTC_INSTALL_PO=Off -DQTC_QT4_ENABLE_KDE=On -DQTC_QT4_ENABLE_KWIN=Off -DQTC_QT5_ENABLE_KDE=On -DQTC_QT4_STYLE_SUPPORT=Off

make
make install

Restart machine
Goto the config dialog, crash.

I also get a ton of segment faults and crashes on other things but that's off topic, I'll assume they'll clear up after the os has matured a bit.
Comment 3 NEOAethyr 2018-04-30 12:55:24 UTC
Just rebuilt using a generic cmake .. command
Same issue.
Comment 4 Christoph Feck 2018-04-30 18:35:44 UTC
Do you still get this message:

kf5.kxmlgui: cannot find .rc file "QtCurveui.rc" for component "QtCurve"

If yes, you have not installed it correctly.
Comment 5 NEOAethyr 2018-05-01 20:20:33 UTC
I got that error even when it was working with the fresh install with the apt-get ver.
I'm gonna re-install fresh the os again tomorrow, and try a compile from the get go and see how that goes.

I can use the apt-get ver now, but I really want to update it to the latest.
One thing though, after compiling, breaing it, and reinstalling all the packages over to of it, it's still broke afterwards.

apt-get install --reinstall:
gtk2-engines-qtcurve
kde-style-qtcurve-qt4
kde-style-qtcurve-qt5
libqtcurve-utils2
qtcurve-l10n
qtcurve

I'll try it again tomorrow.
Comment 6 NEOAethyr 2018-05-01 20:23:15 UTC
Sorry for the typos, I notice there isn't an edit.
'Breaking', 'over top'...
Anyways like I said, I'll try again tomorrow ;).

I've compiled in kde4, mint 17.3, which I'm using now, but that was some time ago.
I've previously compiled it for kde5 and had it working, but again that was a long time ago.
Comment 7 NEOAethyr 2018-05-04 13:05:12 UTC
OK I figured it out, after several os reinstalls lol... :\

Kbuntu 18.04 release ver...

Anyways to make it short it's the app menu in the title bar...
I'm not sure I should try to contact Kai Uwe, of the people running qtcurve on the git repo, or what...
At least it's a real bug, it was driving me nuts.
I'de get it working and it would stop working, or it wouldn't work form the et go, it was like what he heck was going on...


I've installed the package ver..
apt-get install qtcurve

The package src via:
dpkg-buildpackage --no-sign
dpkg -i *.deb

git ver:
git clone "git://anongit.kde.org/qtcurve.git"
cd ./qtcurve
mkdir "./build"
cd "./build"
cmake ..
make -j8
make install

All ok...
Last os install for this issue to re-verify and move on to the next config thing...
Ie, installed a bunch of packages after I verified the latest git ver working from the get go...
qtcurve was crashing, started to back track some of the simple config changes I had made so far before going for another reinstall..
Also grabbed the cmd history...


...
Now to the point..., this error doesn't happen anymore, and I don't now what was up with it, it's not that important because there was a time when it was going off but the config dialog was working -->
kf5.kxmlgui: cannot find .rc file "QtCurveui.rc" for component "QtCurve"


The actual bug:

systemsettings5 --> Application Style --> Window Decorations --> Buttons tab
If you add the Application Menu to the titlebar it crashes the qtcurve config


Live image of Kubuntu 18.04:

apt-get update
apt-get install qtcurve

Check and see if qtcurve's config dialog works, it's fine
Add the app menu to the title bar...
Exit and restart the system settings app, systemsettings5...
Go back and try to configure qtcurve again, crash
Comment 8 NEOAethyr 2018-05-04 13:15:21 UTC
I should note one thing, app menu in the title bar fine on kde4 (for the most part, some gtk2 apps have issues like spacefm, regardless...), it's that relevant to kde5 though..

So in a sense I don't know if qtcurve should be update to the kde5 standard, or if there's a bug in kde5's implementation.
I have no idea where the actual issue is, I think it could be either one...
Comment 9 NEOAethyr 2018-05-04 13:16:06 UTC
Darn typos, shame you guys don't have an edit button..... ^^
Comment 10 NEOAethyr 2018-05-04 13:49:38 UTC
A workaround incase anyone else may come across this problem and gets stuck like I did..

Start your system settings / systemsettings5 with the titlebar app menu disabled.

Either go straight to the qtcurve config dialog from here, or ...

Enable it, at which point the current window hasn't updated to the app menu title bar config yet.
And qtqurve config works still works.
This might be doable with a script and env varible...
If I knew qtcurve config's actual cmd that would be the way to go...
As for the config dialog shortcut before that, I'm sure there's a cmd for it.. kcmshell or something I don't know.


It's easy enough to do it manually just for that one config, because you likely won't be changing it much anyways after you've set it up.
And at least you have an option to quickly get around it.
When you're done, re-enable the app menu in the title bar..

If I knew off hand, a work around script I would share it, but right now I'm not that worried about it.
Unless it never gets fixed...
Comment 11 Christoph Feck 2018-05-05 06:23:24 UTC
If it only crashes with global menu enabled, you are seeing bug 376340. Your previous information did indicate a much deeper problem with installation, but since you can now run it, those seem to have been fixed.

*** This bug has been marked as a duplicate of bug 376340 ***