Bug 1093047 - kinfocenter crashes since Plasma 5.12.5
kinfocenter crashes since Plasma 5.12.5
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: KDE Applications
Current
x86-64 openSUSE Factory
: P5 - None : Normal (vote)
: ---
Assigned To: E-Mail List
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-05-13 22:12 UTC by Maximilian Trummer
Modified: 2018-10-12 23:09 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Maximilian Trummer 2018-05-13 22:12:58 UTC
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
QObject::connect: invalid null parameter
KCrash: Application 'kinfocenter' crashing...
KCrash: Attempting to start /usr/lib64/libexec/drkonqi from kdeinit
sock_file=/run/user/1000/kdeinit5__0
QSocketNotifier: Invalid socket 8 and type 'Read', disabling...
QSocketNotifier: Invalid socket 9 and type 'Read', disabling...

[1]+  Angehalten              kinfocenter
Comment 1 Maximilian Trummer 2018-05-13 22:17:44 UTC
Edit: only crashes if there's a kinfocenter instance open already. But it shouldn't crash anyawy I think.
Comment 2 Wolfgang Bauer 2018-05-14 07:38:05 UTC
(In reply to Maximilian Trummer from comment #1)
> Edit: only crashes if there's a kinfocenter instance open already. But it
> shouldn't crash anyawy I think.

It doesn't crash here.

Can you provide a backtrace please?

And JFYI, you cannot run more than one instance, it will just refuse to start anyway if it is already running (but as you write, it shouldn't crash).
Comment 3 Maximilian Trummer 2018-05-14 19:40:52 UTC
How do I do that? Do I need certain debug symbols?
Comment 4 Wolfgang Bauer 2018-05-15 07:28:23 UTC
(In reply to Maximilian Trummer from comment #3)
> How do I do that?

You should get a crash symbol in the system tray when it crashes, click on it to open the crash report dialog (drkonqi) that would show the backtrace on the "Developer Information" tab (and allows you to directly report the crash to the KDE developers).

Or run it inside gdb ("gdb kinfocenter", then enter "run" to start it) and then enter "bt" after it crashed.

> Do I need certain debug symbols?

Preferably yes, although even without it may be better than nothing.

drkonqi has a button to install the relevant debug symbols automatically, gdb will print messages about what packages to install (like "Missing separate debuginfos, use: zypper install kinfocenter5-debuginfo-5.12.5-230.1.x86_64")

In any case, you need to enable the debug repo (e.g. in YaST->Software Repositories), the debuginfo packages (that contain the debug symbols) are not part of the main Tumbleweed repo.
Comment 5 Fabian Vogt 2018-05-15 09:09:30 UTC
I can't reproduce the crash on Leap 15.0 with Plasma 5.12.5.

kinfocenter uses DBus to activate the other running instance, I assume that is where it goes wrong. The "QObject::connect: invalid null parameter" message is interesting.

A backtrace even without debug symbols would be very helpful.
Comment 6 Maximilian Trummer 2018-05-15 21:45:25 UTC
Here's the backtrace with debuginfo packages installed


#####

Application: kinfocenter (kinfocenter), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f12e059e800 (LWP 24950))]

Thread 3 (Thread 0x7f12c4bb2700 (LWP 24953)):
#0  0x00007f12dcd9b179 in poll () from /lib64/libc.so.6
#1  0x00007f12d6d7d429 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007f12d6d7d53c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007f12dd6d9a2b in QEventDispatcherGlib::processEvents (this=0x7f12c0000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f12dd68095a in QEventLoop::exec (this=this@entry=0x7f12c4bb1d90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#5  0x00007f12dd4a7baa in QThread::exec (this=<optimized out>) at thread/qthread.cpp:522
#6  0x00007f12dada8a35 in ?? () from /usr/lib64/libQt5DBus.so.5
#7  0x00007f12dd4acba0 in QThreadPrivate::start (arg=0x7f12db018d60) at thread/qthread_unix.cpp:376
#8  0x00007f12d912d59b in start_thread () from /lib64/libpthread.so.0
#9  0x00007f12dcda5a1f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f12cd2e1700 (LWP 24952)):
#0  0x00007f12dcd9b179 in poll () from /lib64/libc.so.6
#1  0x00007f12d6b12387 in ?? () from /usr/lib64/libxcb.so.1
#2  0x00007f12d6b13faa in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
#3  0x00007f12d02ae0a9 in ?? () from /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f12dd4acba0 in QThreadPrivate::start (arg=0x561df9319f80) at thread/qthread_unix.cpp:376
#5  0x00007f12d912d59b in start_thread () from /lib64/libpthread.so.0
#6  0x00007f12dcda5a1f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f12e059e800 (LWP 24950)):
[KCrash Handler]
#6  QHash<int, (anonymous namespace)::Path>::isEmpty (this=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qhash.h:269
#7  getPath (format=format@entry=QSettings::NativeFormat, scope=scope@entry=QSettings::UserScope) at io/qsettings.cpp:1106
#8  0x00007f12dd5ec50d in QConfFileSettingsPrivate::QConfFileSettingsPrivate (this=0x561df963d870, format=QSettings::NativeFormat, scope=<optimized out>, organization=..., application=...) at io/qsettings.cpp:1145
#9  0x00007f12dd5ecbf3 in QSettingsPrivate::create (application=..., organization=..., scope=QSettings::UserScope, format=QSettings::NativeFormat) at io/qsettings.cpp:299
#10 QSettings::QSettings (this=0x7fff7d817e30, organization=..., application=..., parent=0x0) at io/qsettings.cpp:2533
#11 0x00007f12c4131ff5 in QtCurve::Style::init (this=this@entry=0x561df945c040, initial=initial@entry=true) at /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve.cpp:399
#12 0x00007f12c41338d8 in QtCurve::Style::Style (this=0x561df945c040) at /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve.cpp:369
#13 0x00007f12c415a76b in QtCurve::StylePlugin::create (this=0x561df9442c30, key=...) at /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve_plugin.cpp:130
#14 0x00007f12de476823 in qLoadPlugin<QStyle, QStylePlugin> (key=..., loader=<optimized out>) at ../../include/QtCore/5.10.0/QtCore/private/../../../../../src/corelib/plugin/qfactoryloader_p.h:114
#15 QStyleFactory::create (key=...) at styles/qstylefactory.cpp:105
#16 0x00007f12de49a135 in QProxyStylePrivate::ensureBaseStyle (this=this@entry=0x561df9445650) at styles/qproxystyle.cpp:99
#17 0x00007f12de49ad75 in QProxyStyle::event (this=<optimized out>, e=0x7fff7d818200) at styles/qproxystyle.cpp:379
#18 0x00007f12de40b01c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x561df953c820, e=0x7fff7d818200) at kernel/qapplication.cpp:3733
#19 0x00007f12de412314 in QApplication::notify (this=0x7fff7d818720, receiver=0x561df953c820, e=0x7fff7d818200) at kernel/qapplication.cpp:3492
#20 0x00007f12dd682148 in QCoreApplication::notifyInternal2 (receiver=0x561df953c820, event=event@entry=0x7fff7d818200) at kernel/qcoreapplication.cpp:1044
#21 0x00007f12dd6b6d58 in QCoreApplication::sendEvent (event=0x7fff7d818200, receiver=<optimized out>) at kernel/qcoreapplication.h:234
#22 QObjectPrivate::setParent_helper (this=this@entry=0x561df9542680, o=o@entry=0x0) at kernel/qobject.cpp:2018
#23 0x00007f12dd6b73bf in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1031
#24 0x00007f12c4128f57 in QtCurve::Style::~Style (this=0x561df974f420, __in_chrg=<optimized out>) at /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve.cpp:733
#25 0x00007f12c41291d9 in QtCurve::Style::~Style (this=0x561df974f420, __in_chrg=<optimized out>) at /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve.cpp:744
#26 0x00007f12c415a8fc in QtCurve::StylePlugin::~StylePlugin (this=0x561df9442c30, __in_chrg=<optimized out>) at /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve_plugin.cpp:158
#27 0x00007f12c415a9b9 in QtCurve::StylePlugin::~StylePlugin (this=0x561df9442c30, __in_chrg=<optimized out>) at /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve_plugin.cpp:165
#28 0x00007f12dd677716 in QLibraryPrivate::unload (this=this@entry=0x561df9438490, flag=flag@entry=QLibraryPrivate::UnloadSys) at plugin/qlibrary.cpp:562
#29 0x00007f12dd669352 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x561df9441580, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:86
#30 0x00007f12dd669499 in QFactoryLoaderPrivate::~QFactoryLoaderPrivate (this=0x561df9441580, __in_chrg=<optimized out>) at plugin/qfactoryloader.cpp:89
#31 0x00007f12dd6b73d3 in QScopedPointerDeleter<QObjectData>::cleanup (pointer=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:60
#32 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer (this=0x7f12deadc898 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder+8>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107
#33 QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:881
#34 0x00007f12de477589 in (anonymous namespace)::Q_QGS_loader::Holder::~Holder (this=<optimized out>, __in_chrg=<optimized out>) at styles/qstylefactory.cpp:53
#35 0x00007f12dcce5431 in __run_exit_handlers () from /lib64/libc.so.6
#36 0x00007f12dcce552a in exit () from /lib64/libc.so.6
#37 0x00007f12df31bea5 in KDBusService::KDBusService (this=<optimized out>, options=..., parent=<optimized out>) at /usr/src/debug/kdbusaddons-5.45.0-1.1.x86_64/src/kdbusservice.cpp:137
#38 0x0000561df8068ed0 in KicApp::KicApp (this=0x7fff7d818720, argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kinfocenter5-5.12.5-2.1.x86_64/main.cpp:67
#39 0x0000561df8065def in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kinfocenter5-5.12.5-2.1.x86_64/main.cpp:72

#####

Is the gdb output the same as the KDE backtrace tool?
Comment 7 Fabian Vogt 2018-05-16 08:03:05 UTC
(In reply to Maximilian Trummer from comment #6)
> Here's the backtrace with debuginfo packages installed
> 
> 
> #####
> 
> Application: kinfocenter (kinfocenter), signal: Segmentation fault

[snip]
> #13 0x00007f12c415a76b in QtCurve::StylePlugin::create (this=0x561df9442c30,
> key=...) at /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve_plugin.cpp:130
> #14 0x00007f12de476823 in qLoadPlugin<QStyle, QStylePlugin> (key=...,
> loader=<optimized out>) at
> ../../include/QtCore/5.10.0/QtCore/private/../../../../../src/corelib/plugin/
> qfactoryloader_p.h:114
> #15 QStyleFactory::create (key=...) at styles/qstylefactory.cpp:105
> #16 0x00007f12de49a135 in QProxyStylePrivate::ensureBaseStyle
> (this=this@entry=0x561df9445650) at styles/qproxystyle.cpp:99
> #17 0x00007f12de49ad75 in QProxyStyle::event (this=<optimized out>,
> e=0x7fff7d818200) at styles/qproxystyle.cpp:379
> #18 0x00007f12de40b01c in QApplicationPrivate::notify_helper
> (this=<optimized out>, receiver=0x561df953c820, e=0x7fff7d818200) at
> kernel/qapplication.cpp:3733
> #19 0x00007f12de412314 in QApplication::notify (this=0x7fff7d818720,
> receiver=0x561df953c820, e=0x7fff7d818200) at kernel/qapplication.cpp:3492
> #20 0x00007f12dd682148 in QCoreApplication::notifyInternal2
> (receiver=0x561df953c820, event=event@entry=0x7fff7d818200) at
> kernel/qcoreapplication.cpp:1044
> #21 0x00007f12dd6b6d58 in QCoreApplication::sendEvent (event=0x7fff7d818200,
> receiver=<optimized out>) at kernel/qcoreapplication.h:234
> #22 QObjectPrivate::setParent_helper (this=this@entry=0x561df9542680,
> o=o@entry=0x0) at kernel/qobject.cpp:2018
> #23 0x00007f12dd6b73bf in QObject::~QObject (this=<optimized out>,
> __in_chrg=<optimized out>) at kernel/qobject.cpp:1031
> #24 0x00007f12c4128f57 in QtCurve::Style::~Style (this=0x561df974f420,
> __in_chrg=<optimized out>) at
> /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve.cpp:733
> #25 0x00007f12c41291d9 in QtCurve::Style::~Style (this=0x561df974f420,
> __in_chrg=<optimized out>) at
> /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve.cpp:744
> #26 0x00007f12c415a8fc in QtCurve::StylePlugin::~StylePlugin
> (this=0x561df9442c30, __in_chrg=<optimized out>) at
> /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve_plugin.cpp:158
> #27 0x00007f12c415a9b9 in QtCurve::StylePlugin::~StylePlugin
> (this=0x561df9442c30, __in_chrg=<optimized out>) at
> /usr/src/debug/qtcurve-1.9.0/qt5/style/qtcurve_plugin.cpp:165
> #28 0x00007f12dd677716 in QLibraryPrivate::unload
> (this=this@entry=0x561df9438490, flag=flag@entry=QLibraryPrivate::UnloadSys)
> at plugin/qlibrary.cpp:562
[snip]
> #35 0x00007f12dcce5431 in __run_exit_handlers () from /lib64/libc.so.6
> #36 0x00007f12dcce552a in exit () from /lib64/libc.so.6
[snip]

Bug in QtCurve. It reloads itself on exit, which is obviously doomed to fail.
Please report upstream to Qt Curve.

> #####
> 
> Is the gdb output the same as the KDE backtrace tool?

Yes, drkonqi uses gdb.
Comment 8 Maximilian Trummer 2018-10-12 23:09:19 UTC
It doesn't crash anymore on Tumbleweed 20181009 with Plasma 5.14.0 and Frameworks 5.50.0 on any of my machines. I'll therefore set it as fixed now.
Comment 9 Maximilian Trummer 2018-10-12 23:09:59 UTC
fixed, see above