Bug 364340 - upon session logout keyboard module crashes
Summary: upon session logout keyboard module crashes
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_keyboard (show other bugs)
Version: 5.6.4
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Andriy Rysin
URL:
Keywords:
Depends on:
Blocks: 363851
  Show dependency treegraph
 
Reported: 2016-06-15 09:35 UTC by Harald Sitter
Modified: 2016-09-21 09:53 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 5.8.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Harald Sitter 2016-06-15 09:35:24 UTC
upon session logout kded likes to crash in the keyboard module dtor (as in: most of the time). using kf5.23


#0  0x00007f01e146b3a0 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f01e3de2c5b in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f01e3de195e in QThread::wait(unsigned long) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f01dc74c1e6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#4  0x00007f01dc74c279 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#5  0x00007f01e39a5fe8 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x00007f01e39a6035 in exit () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x00007f01e4c38ac5 in _XDefaultIOError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#8  0x00007f01d4b65b1e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#9  0x00007f01e4c38cee in _XIOError () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#10 0x00007f01e4c36d4a in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#11 0x00007f01e4c1cafd in XGetWindowProperty () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#12 0x00007f01ac727509 in X11Helper::getGroupNames (display=0x11bb500, 
    xkbConfig=xkbConfig@entry=0x7ffefeec6830, fetchType=fetchType@entry=X11Helper::LAYOUTS_ONLY)
    at /var/lib/jenkins-slave/nci/workspace/xenial_release_plasma_plasma-desktop_bin_amd64/build/kcms/keyboard/x11_helper.cpp:255
#13 0x00007f01ac728985 in X11Helper::getLayoutsList ()
    at /var/lib/jenkins-slave/nci/workspace/xenial_release_plasma_plasma-desktop_bin_amd64/build/kcms/keyboard/x11_helper.cpp:176
#14 0x00007f01ac7294b6 in X11Helper::getCurrentLayout ()
    at /var/lib/jenkins-slave/nci/workspace/xenial_release_plasma_plasma-desktop_bin_amd64/build/kcms/keyboard/x11_helper.cpp:132
#15 0x00007f01ac717882 in KeyboardDaemon::~KeyboardDaemon (this=0x18e3710, 
    __in_chrg=<optimized out>)
    at /var/lib/jenkins-slave/nci/workspace/xenial_release_plasma_plasma-desktop_bin_amd64/build/kcms/keyboard/keyboard_daemon.cpp:74
#16 0x00007f01ac717e79 in KeyboardDaemon::~KeyboardDaemon (this=0x18e3710, 
    __in_chrg=<optimized out>)
    at /var/lib/jenkins-slave/nci/workspace/xenial_release_plasma_plasma-desktop_bin_amd64/build/kcms/keyboard/keyboard_daemon.cpp:88
#17 0x00007f01d4c2f271 in Kded::~Kded (this=0x122fda0, __in_chrg=<optimized out>)
    at /var/lib/jenkins-slave/nci/workspace/xenial_release_frameworks_kded_bin_amd64/build/src/kded.cpp:121
#18 0x00007f01d4c2f2f9 in Kded::~Kded (this=0x122fda0, __in_chrg=<optimized out>)
    at /var/lib/jenkins-slave/nci/workspace/xenial_release_frameworks_kded_bin_amd64/build/src/kded.cpp:123
#19 0x00007f01d4c34645 in kdemain (argc=1, argv=<optimized out>)
    at /var/lib/jenkins-slave/nci/workspace/xenial_release_frameworks_kded_bin_amd64/build/src/kded.cpp:769
#20 0x000000000040847d in ?? ()
#21 0x0000000000405734 in ?? ()
#22 0x00007f01e398c830 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#23 0x0000000000405bd9 in _start ()
Undefined command: "logging".  Try "help".


Reproducible: Always
Comment 1 Kai Uwe Broulik 2016-09-21 09:53:27 UTC
Git commit 9d55c52f76cf831584d71d60a8806688f37ea0cc by Kai Uwe Broulik.
Committed on 21/09/2016 at 09:50.
Pushed by broulik into branch 'Plasma/5.8'.

[KeyboardDaemon] Don't call getCurrentLayout() in destructor

It does X calls and might crash kded on logout.
Since we already have a currentLayout member, there's no need to get it afresh.
FIXED-IN: 5.8.0

Differential Revision: https://phabricator.kde.org/D2818

M  +3    -3    kcms/keyboard/keyboard_daemon.cpp

http://commits.kde.org/plasma-desktop/9d55c52f76cf831584d71d60a8806688f37ea0cc