Bug 363580 - kwin_x11 crashes when showing all windows
Summary: kwin_x11 crashes when showing all windows
Status: RESOLVED DUPLICATE of bug 341497
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.4.3
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-27 09:07 UTC by Francois Gouget
Modified: 2016-05-27 13:22 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Gouget 2016-05-27 09:07:22 UTC
In the top-left corner I have both the 'Show windows from all desktops' hot-corner, and the Kickoff application launcher. Regularly when I move the mouse to the top-left corner I overshoot which seems to trigger the 'show all windows' function (i.e. I get the blue glow for a short time), but instead of getting all windows I get a kwin_x11 crash dialog.

This is not systematic (unlike the crash caused by turning on the screen, see bug 363545), but still happens multiple times per day. It also looks very much a plasmashell crash (the background becomes black, the KDE dock disappears) and not like the kwin_x11 crashes that I sometimes get (a couple times a week) where I still have the KDE dock but the windows lose their decorations and where I have to manually restart kwin_x11. Yet the backtrace says that it is KWin that crashed so I guess it must be.

I am moving the hot-corner to the bottom-left so I'll see if the issue persists.

Reproducible: Sometimes

Steps to Reproduce:
1. You might have to make the corner where the Kickoff menu is located be a hot corner that activates the 'show all windows' function. Whether that's needed remains to be determined.
2. Jam the mouse into that corner.


Actual Results:  
I got a crash dialog.

Expected Results:  
KDE should have shown the windows from all desktops.

Here is the kwin_x11 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 0x7f1bbe6b3940 (LWP 23129))]

Thread 4 (Thread 0x7f1b9f7f8700 (LWP 23139)):
#0  0x00007f1bbe1c4c13 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f1bbc7f80cf in qt_safe_select (nfds=11, fdread=fdread@entry=0x7f1b94000a78, fdwrite=fdwrite@entry=0x7f1b94000d08, fdexcept=fdexcept@entry=0x7f1b94000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f1bbc7f9bce in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f1b94000f98, writefds=0x7f1b94000d08, readfds=0x7f1b94000a78, nfds=<optimized out>, this=0x7f1b940008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f1b940008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f1bbc7fa0fe in QEventDispatcherUNIX::processEvents (this=0x7f1b940008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f1bbc7a3d6a in QEventLoop::exec (this=this@entry=0x7f1b9f7f7c60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f1bbc5c0854 in QThread::exec (this=this@entry=0x1b38be0) at thread/qthread.cpp:503
#7  0x00007f1bb70f1105 in QQmlThreadPrivate::run (this=0x1b38be0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007f1bbc5c57fe in QThreadPrivate::start (arg=0x1b38be0) at thread/qthread_unix.cpp:331
#9  0x00007f1bbd81c454 in start_thread (arg=0x7f1b9f7f8700) at pthread_create.c:334
#10 0x00007f1bbe1cbeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f1b937fe700 (LWP 23141)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f1bbb74d1c4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f1bbb74d209 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f1bbd81c454 in start_thread (arg=0x7f1b937fe700) at pthread_create.c:334
#4  0x00007f1bbe1cbeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f1ba486e700 (LWP 13646)):
#0  0x00007f1bbe1c4c13 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f1bbc7f80cf in qt_safe_select (nfds=9, fdread=fdread@entry=0x7f1b98000a78, fdwrite=fdwrite@entry=0x7f1b98000d08, fdexcept=fdexcept@entry=0x7f1b98000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007f1bbc7f9bce in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7f1b98000f98, writefds=0x7f1b98000d08, readfds=0x7f1b98000a78, nfds=<optimized out>, this=0x7f1b980008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f1b980008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007f1bbc7fa0fe in QEventDispatcherUNIX::processEvents (this=0x7f1b980008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007f1bbc7a3d6a in QEventLoop::exec (this=this@entry=0x7f1ba486dc60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f1bbc5c0854 in QThread::exec (this=this@entry=0x1d9c7c0) at thread/qthread.cpp:503
#7  0x00007f1bb70f1105 in QQmlThreadPrivate::run (this=0x1d9c7c0) at qml/ftw/qqmlthread.cpp:141
#8  0x00007f1bbc5c57fe in QThreadPrivate::start (arg=0x1d9c7c0) at thread/qthread_unix.cpp:331
#9  0x00007f1bbd81c454 in start_thread (arg=0x7f1ba486e700) at pthread_create.c:334
#10 0x00007f1bbe1cbeed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f1bbe6b3940 (LWP 23129)):
[KCrash Handler]
#4  QXcbScreen::mapToNative (this=this@entry=0x0, rect=...) at qxcbscreen.cpp:267
#5  0x00007f1ba63e3713 in QXcbWindow::mapToNative (this=<optimized out>, rect=..., screen=0x0) at qxcbwindow.cpp:199
#6  0x00007f1ba63e4f8b in QXcbWindow::propagateSizeHints (this=0x2cc1590) at qxcbwindow.cpp:1618
#7  0x00007f1ba63ea14c in QXcbWindow::setGeometry (this=0x2cc1590, rect=...) at qxcbwindow.cpp:713
#8  0x00007f1bbb8c66ce in ?? () from /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#9  0x00007f1bbb8c6b08 in ?? () from /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#10 0x00007f1bbb8c8880 in ?? () from /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#11 0x00007f1bbb8c9442 in ?? () from /usr/lib/x86_64-linux-gnu/libkwin4_effect_builtins.so.1
#12 0x00007f1bbbd6efd3 in ?? () from /usr/lib/x86_64-linux-gnu/libkwineffects.so.6
#13 0x00007f1bbc7b1a6a in QMetaMethod::invoke (this=this@entry=0x7ffe7fdb5dc8, object=object@entry=0x272e540, connectionType=Qt::DirectConnection, connectionType@entry=2145082960, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:2212
#14 0x00007f1bbc7b716d in QMetaObject::invokeMethod (obj=0x272e540, member=0x2172718 "borderActivated", type=2145082960, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1479
#15 0x00007f1bbdde2a5b in ?? () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#16 0x00007f1bbdde446f in ?? () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#17 0x00007f1bbdde4519 in ?? () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#18 0x00007f1bbdde4942 in ?? () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#19 0x00007f1bbdde4a1e in ?? () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#20 0x00007f1bbdd27631 in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) () from /usr/lib/x86_64-linux-gnu/libkwin.so.5
#21 0x00007f1bbc7a2f1f in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f1ba00148f0, result=result@entry=0x7ffe7fdb6428) at kernel/qabstracteventdispatcher.cpp:460
#22 0x00007f1ba63d1204 in QXcbConnection::handleXcbEvent (this=this@entry=0x1a4dda0, event=event@entry=0x7f1ba00148f0) at qxcbconnection.cpp:1021
#23 0x00007f1ba63d1fb3 in QXcbConnection::processXcbEvents (this=0x1a4dda0) at qxcbconnection.cpp:1509
#24 0x00007f1bbc7d5e61 in QObject::event (this=0x1a4dda0, e=<optimized out>) at kernel/qobject.cpp:1239
#25 0x00007f1bbd098ffc in QApplicationPrivate::notify_helper (this=this@entry=0x1a476f0, receiver=receiver@entry=0x1a4dda0, e=e@entry=0x7f1ba0018880) at kernel/qapplication.cpp:3716
#26 0x00007f1bbd09e4b6 in QApplication::notify (this=0x7ffe7fdb6a40, receiver=0x1a4dda0, e=0x7f1ba0018880) at kernel/qapplication.cpp:3499
#27 0x00007f1bbc7a65ab in QCoreApplication::notifyInternal (this=0x7ffe7fdb6a40, receiver=0x1a4dda0, event=event@entry=0x7f1ba0018880) at kernel/qcoreapplication.cpp:965
#28 0x00007f1bbc7a89a6 in QCoreApplication::sendEvent (event=0x7f1ba0018880, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#29 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1a38600) at kernel/qcoreapplication.cpp:1593
#30 0x00007f1bbc7f9fc2 in QEventDispatcherUNIX::processEvents (this=0x1a75990, flags=flags@entry=...) at kernel/qeventdispatcher_unix.cpp:579
#31 0x00007f1ba64345dd in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#32 0x00007f1bbc7a3d6a in QEventLoop::exec (this=this@entry=0x7ffe7fdb6960, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#33 0x00007f1bbc7abe0c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#34 0x00007f1bbe48c474 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#35 0x00007f1bbe103610 in __libc_start_main (main=0x400760 <main>, argc=3, argv=0x7ffe7fdb6ba8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe7fdb6b98) at libc-start.c:291
#36 0x0000000000400799 in _start ()
Comment 1 Thomas Lübking 2016-05-27 13:22:58 UTC
For Qt5.5, expect every qt client to randomly crash on or after randr events.
Bug #363545 is the same problem.

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