Bug 372753

Summary: Crash on activating present-windows
Product: [Plasma] kwin Reporter: Tom Mittelstädt <tom-kde.bugs>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version First Reported In: 5.7.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Tom Mittelstädt 2016-11-21 19:16:06 UTC
Application: kwin_x11 (5.7.5)

Qt Version: 5.6.1
Frameworks Version: 5.26.0
Operating System: Linux 4.8.0-27-generic x86_64
Distribution: Ubuntu 16.10

-- Information about the crash:
kwin crashed on activating the present-window effect. This happens from time to time.

The crash can be reproduced sometimes.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f63773ff940 (LWP 1593))]

Thread 6 (Thread 0x7f6355035700 (LWP 18909)):
#0  0x00007f6376f00ea3 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6374d82caf in qt_safe_select (nfds=19, fdread=fdread@entry=0x7f6348000a78, fdwrite=fdwrite@entry=0x7f6348000d08, fdexcept=fdexcept@entry=0x7f6348000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f6374d84754 in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f6348000f98, writefds=0x7f6348000d08, readfds=0x7f6348000a78, nfds=<optimized out>, this=0x7f63480008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f63480008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f6374d84c6a in QEventDispatcherUNIX::processEvents (this=0x7f63480008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f6374d2f0fa in QEventLoop::exec (this=this@entry=0x7f6355034c60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f6374b54d43 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:500
#7  0x00007f636f605c65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f6374b59c68 in QThreadPrivate::start (arg=0x56527e4559b0) at thread/qthread_unix.cpp:341
#9  0x00007f63704a770a in start_thread (arg=0x7f6355035700) at pthread_create.c:333
#10 0x00007f6376f0b0af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 5 (Thread 0x7f6357fff700 (LWP 12933)):
#0  0x00007f6376f00ea3 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6374d82caf in qt_safe_select (nfds=17, fdread=fdread@entry=0x7f634c000a78, fdwrite=fdwrite@entry=0x7f634c000d08, fdexcept=fdexcept@entry=0x7f634c000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f6374d84754 in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f634c000f98, writefds=0x7f634c000d08, readfds=0x7f634c000a78, nfds=<optimized out>, this=0x7f634c0008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f634c0008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f6374d84c6a in QEventDispatcherUNIX::processEvents (this=0x7f634c0008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f6374d2f0fa in QEventLoop::exec (this=this@entry=0x7f6357ffec60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f6374b54d43 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:500
#7  0x00007f636f605c65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f6374b59c68 in QThreadPrivate::start (arg=0x56527e80ff40) at thread/qthread_unix.cpp:341
#9  0x00007f63704a770a in start_thread (arg=0x7f6357fff700) at pthread_create.c:333
#10 0x00007f6376f0b0af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 4 (Thread 0x7f6354834700 (LWP 1722)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f6373eee574 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f6373eee5b9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f63704a770a in start_thread (arg=0x7f6354834700) at pthread_create.c:333
#4  0x00007f6376f0b0af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 3 (Thread 0x7f635739f700 (LWP 1713)):
#0  0x00007f6376f00ea3 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6374d82caf in qt_safe_select (nfds=15, fdread=fdread@entry=0x7f6344000a78, fdwrite=fdwrite@entry=0x7f6344000d08, fdexcept=fdexcept@entry=0x7f6344000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f6374d84754 in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f6344000f98, writefds=0x7f6344000d08, readfds=0x7f6344000a78, nfds=<optimized out>, this=0x7f63440008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f63440008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f6374d84c6a in QEventDispatcherUNIX::processEvents (this=0x7f63440008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f6374d2f0fa in QEventLoop::exec (this=this@entry=0x7f635739ec60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f6374b54d43 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:500
#7  0x00007f636f605c65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f6374b59c68 in QThreadPrivate::start (arg=0x56527d7c6d70) at thread/qthread_unix.cpp:341
#9  0x00007f63704a770a in start_thread (arg=0x7f635739f700) at pthread_create.c:333
#10 0x00007f6376f0b0af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 2 (Thread 0x7f6360456700 (LWP 1622)):
#0  0x00007f6376eff0bd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f636da089d6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f636da08aec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6374d874ab in QEventDispatcherGlib::processEvents (this=0x7f63580008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#4  0x00007f6374d2f0fa in QEventLoop::exec (this=this@entry=0x7f6360455c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007f6374b54d43 in QThread::exec (this=this@entry=0x7f6377594d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:500
#6  0x00007f6377520575 in QDBusConnectionManager::run (this=0x7f6377594d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:171
#7  0x00007f6374b59c68 in QThreadPrivate::start (arg=0x7f6377594d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:341
#8  0x00007f63704a770a in start_thread (arg=0x7f6360456700) at pthread_create.c:333
#9  0x00007f6376f0b0af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 1 (Thread 0x7f63773ff940 (LWP 1593)):
[KCrash Handler]
#6  QCoreApplication::notifyInternal2 (receiver=0x56527d679b10, event=event@entry=0x7fffbd5f4b70) at kernel/qcoreapplication.cpp:1011
#7  0x00007f635f7eef2e in QCoreApplication::sendEvent (event=0x7fffbd5f4b70, receiver=<optimized out>) at ../../../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:225
#8  QComposeInputContext::commitText (this=this@entry=0x56527d67a2d0, character=character@entry=349) at qcomposeplatforminputcontext.cpp:237
#9  0x00007f635f7ef1cb in QComposeInputContext::checkComposeTable (this=0x56527d67a2d0) at qcomposeplatforminputcontext.cpp:227
#10 0x00007f635f70faf3 in QXcbKeyboard::handleKeyEvent (this=<optimized out>, sourceWindow=<optimized out>, type=type@entry=QEvent::KeyPress, code=<optimized out>, state=<optimized out>, time=357685310) at qxcbkeyboard.cpp:1504
#11 0x00007f635f70fe3d in QXcbKeyboard::handleKeyPressEvent (this=<optimized out>, event=event@entry=0x7f635015ddf0) at qxcbkeyboard.cpp:1554
#12 0x00007f635f70767b in QXcbConnection::handleXcbEvent (this=this@entry=0x56527d653b80, event=event@entry=0x7f635015ddf0) at qxcbconnection.cpp:1161
#13 0x00007f635f707c0b in QXcbConnection::processXcbEvents (this=0x56527d653b80) at qxcbconnection.cpp:1723
#14 0x00007f6374d5f699 in QObject::event (this=0x56527d653b80, e=<optimized out>) at kernel/qobject.cpp:1256
#15 0x00007f637566c8ac in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x56527d653b80, e=0x7f635015ecf0) at kernel/qapplication.cpp:3804
#16 0x00007f6375671d4f in QApplication::notify (this=0x7fffbd5f5420, receiver=0x56527d653b80, e=0x7f635015ecf0) at kernel/qapplication.cpp:3561
#17 0x00007f6374d313b0 in QCoreApplication::notifyInternal2 (receiver=0x56527d653b80, event=event@entry=0x7f635015ecf0) at kernel/qcoreapplication.cpp:1015
#18 0x00007f6374d3333c in QCoreApplication::sendEvent (event=0x7f635015ecf0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:225
#19 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x56527d63b620) at kernel/qcoreapplication.cpp:1650
#20 0x00007f6374d84b52 in QEventDispatcherUNIX::processEvents (this=0x56527d686b20, flags=...) at kernel/qeventdispatcher_unix.cpp:579
#21 0x00007f635f77f94d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#22 0x00007f6374d2f0fa in QEventLoop::exec (this=this@entry=0x7fffbd5f5310, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#23 0x00007f6374d3790c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
#24 0x00007f63771d3206 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#25 0x00007f6376e233f1 in __libc_start_main (main=0x56527ce5d7e0, argc=1, argv=0x7fffbd5f55a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffbd5f5598) at ../csu/libc-start.c:291
#26 0x000056527ce5d81a in _start ()

Reported using DrKonqi
Comment 1 Martin Flöser 2016-11-21 20:38:32 UTC
Are you using an input method system like e.g. ibus?
Comment 2 Tom Mittelstädt 2016-11-21 21:08:07 UTC
Unfortunately I'm unaware of the default input method systems in kubuntu.
I didn't installed an input method system myself.
Comment 3 Martin Flöser 2016-11-22 06:20:56 UTC
Need to set it to upstream then. The crash happens inside Qt during key press event. There is no code from us involved in the backtrace.