Bug 379830 - All kde binaries crash in QDBusConnectionPrivate::closeConnection() when exiting without opening a window
Summary: All kde binaries crash in QDBusConnectionPrivate::closeConnection() when exit...
Status: RESOLVED UPSTREAM
Alias: None
Product: frameworks-kdbusaddons
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 5.33.0
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-14 20:25 UTC by Bernie Innocenti
Modified: 2017-05-29 22:59 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernie Innocenti 2017-05-14 20:25:27 UTC
I noticed this today, but it may have been going since the release of kdeframeworks 5.33.

On my system, pretty much every KDE 5 binary segfaults on exit, *unless* it has opened its main window. For instance, if I run systemsettings once and then close the window, it exits cleanly. If I run it a second time while the first one is still open, this second instance crashes in QDBusConnectionPrivate::closeConnection().

KDE command line binaries crash just after printing their help text. Tested with kdesu, kde-open5 and kcmshell5. The latter crashes on exit only if it exits without opening the kcm window. Also noteworthy is that kcmshell4 never crashes.


Here's a gdb session from kcmshell5:

$ gdb kcmshell5  
GNU gdb (GDB) Fedora 7.12.1-48.fc25
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
set scheduler-locking on
Reading symbols from kcmshell5...Reading symbols from /home/bernie/src/bernie/mandelwow/kcmshell5...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Missing separate debuginfos, use: dnf debuginfo-install kde-cli-tools-5.9.5-1.fc25.x86_64
(gdb) c
The program is not being run.
(gdb) r
Starting program: /usr/bin/kcmshell5 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffe40cc700 (LWP 30617)]
[New Thread 0x7fffdbd56700 (LWP 30618)]
Usage: /usr/bin/kcmshell5 [options] module
A tool to start single system settings modules

Options:
  -v, --version              Displays version information.
  -h, --help                 Displays this help.
  --author                   Show author information.
  --license                  Show license information.
  --desktopfile <file name>  The base file name of the desktop entry for this
                             application.
  --list                     List all possible modules
  --lang <language>          Specify a particular language
  --silent                   Do not display main window
  --args <arguments>         Arguments for the module
  --icon <icon>              Use a specific icon for the window
  --caption <caption>        Use a specific caption for the window

Arguments:
  module                     Configuration module to open

Thread 3 "QDBusConnection" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffdbd56700 (LWP 30618)]
0x00007ffff5404f8d in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () from /lib64/libQt5Core.so.5
(gdb) bt
#0  0x00007ffff5404f8d in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () at /lib64/libQt5Core.so.5
#1  0x00007ffff7f22fb0 in QDBusConnectionPrivate::closeConnection() () at /lib64/libQt5DBus.so.5
#2  0x00007ffff7f0f852 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#3  0x00007ffff523a9ca in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#4  0x00007ffff29cd6ca in start_thread () at /lib64/libpthread.so.0
#5  0x00007ffff462df7f in clone () at /lib64/libc.so.6
Comment 1 Rex Dieter 2017-05-15 03:54:54 UTC
May be a regression in a recent qt5-qtbase update,
https://bodhi.fedoraproject.org/updates/FEDORA-2017-41124b7b1d
Comment 2 Rex Dieter 2017-05-15 12:48:19 UTC
While I was able to initially reproduce this, I no longer can after restarting my plasma session.
Comment 3 Christoph Feck 2017-05-29 22:59:26 UTC
https://bugreports.qt.io/browse/QTBUG-52988

See also bug 375936.