Bug 423319

Summary: kWin crashed when using hotcorner to Present Windows
Product: [Plasma] kwin Reporter: readycommunication4
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: adam.m.fontenot+kde, bretaa, bugs.kde.org, carlo, cfranchuk, code, danielcdawson, djander, ftefrjbhfvasf32, honestcorruption, j.mairboeck, kalabankro, lima.lucas.ma, liubomirwm, mcpain, mmerlone, n.place, nate, ofejirousiaphre, piotr.mierzwinski, r.day80, roland, samarth.hawaldar, schneider.andi, srevinsaju, streangalucas, yuvrajtalukdar
Priority: VHI Keywords: drkonqi, regression
Version: 5.14.5   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In: 5.18.6
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description readycommunication4 2020-06-21 12:46:24 UTC
Application: kwin_x11 (5.14.5)

Qt Version: 5.11.3
Frameworks Version: 5.54.0
Operating System: Linux 4.19.0-9-amd64 x86_64
Distribution: Debian GNU/Linux 10 (buster)

-- Information about the crash:
- What I was doing when the application crashed:
Activated hot corner to present windows (so I could switch to another one). The hot corner was set to the top-left of the screen and was set to "Present Windows - All Desktops."
- Unusual behavior I noticed:
Before the crash, I noticed the desktop become quite laggy for a second before crashing.

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 0x7fea85e98940 (LWP 3692))]

Thread 9 (Thread 0x7fea7f7fe700 (LWP 4369)):
#0  0x00007fea8ec15916 in ppoll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fea8d81b721 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fea8d81cb99 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fea8d7cd15b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fea8d61ce76 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fea8c03ac65 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007fea8d626a67 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fea8c80ffa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fea8ec204cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 8 (Thread 0x7fea5b3fe700 (LWP 3806)):
#0  0x00007fea8ec15916 in ppoll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fea8d81b721 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fea8d81cb99 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fea8d7cd15b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fea8d61ce76 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fea8d626a67 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fea8c80ffa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007fea8ec204cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 7 (Thread 0x7fea51727700 (LWP 3748)):
#0  0x00007fea8c81600c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fea8d11be6a in ?? () from /lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007fea8d11be89 in ?? () from /lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007fea8c80ffa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007fea8ec204cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 6 (Thread 0x7fea68f99700 (LWP 3740)):
#0  0x00007fea8ec15916 in ppoll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fea8d81b721 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fea8d81cb99 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fea8d7cd15b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fea8d61ce76 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fea8c03ac65 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007fea8d626a67 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fea8c80ffa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fea8ec204cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7fea6a007700 (LWP 3738)):
#0  0x00007fea8c81600c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fea6e981b23 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007fea6e981877 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007fea8c80ffa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007fea8ec204cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7fea6a808700 (LWP 3737)):
#0  0x00007fea8c81600c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fea6e981b23 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007fea6e981877 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007fea8c80ffa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007fea8ec204cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7fea7e18b700 (LWP 3733)):
#0  0x00007fea8ec15916 in ppoll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fea8d81b721 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fea8d81cb99 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fea8d7cd15b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fea8d61ce76 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fea8c03ac65 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007fea8d626a67 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fea8c80ffa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fea8ec204cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7fea7ffff700 (LWP 3731)):
#0  0x00007fea8ec15916 in ppoll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fea8d81b721 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007fea8d81cb99 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007fea8d7cd15b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fea8d61ce76 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fea8bb02545 in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#6  0x00007fea8d626a67 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fea8c80ffa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fea8ec204cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7fea85e98940 (LWP 3692)):
[KCrash Handler]
#6  0x0000558ed56b23a1 in ?? ()
#7  0x00007fea8e93ed09 in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) () from /lib/x86_64-linux-gnu/libkwin.so.5
#8  0x00007fea8d7cbfdf in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fea85a40cb0 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#10 0x00007fea85a41843 in QXcbConnection::processXcbEvents() () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#11 0x00007fea8d7f8072 in QObject::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007fea8e14b4c1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007fea8e152970 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007fea8d7ce489 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007fea8d7d146b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007fea8d81ca0b in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007fea85ad569d in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#18 0x00007fea8d7cd15b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007fea8d7d5132 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007fea8ecf247b in kdemain () from /lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#21 0x00007fea8eb4b09b in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#22 0x0000558ed2e9b08a in _start ()
[Inferior 1 (process 3692) detached]

The reporter indicates this bug may be a duplicate of or related to bug 422899.

Possible duplicates by query: bug 422899, bug 422558, bug 422275, bug 421762, bug 420314.

Reported using DrKonqi
Comment 1 kalabankro 2020-07-08 12:08:21 UTC
Created attachment 129971 [details]
New crash information added by DrKonqi

kwin_x11 (5.19.2) using Qt 5.14.2

- What I was doing when the application crashed: Moved mouse pointer to left corner to present windows.

- Custom settings of the application: I have enabled the wobbly window effect

-- Backtrace (Reduced):
#5  0x00007f1fb558cf0a in KWin::Workspace::workspaceEvent (this=0x55eb752d0370, e=0x7f1f98024220) at ./events.cpp:240
#6  0x00007f1fb2bfc4df in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f1f98024220, result=result@entry=0x7ffd7c6a0668) at kernel/qabstracteventdispatcher.cpp:488
#7  0x00007f1f9e54bbac in QXcbConnection::handleXcbEvent (this=this@entry=0x55eb7521a190, event=event@entry=0x7f1f98024220) at qxcbconnection.cpp:550
#8  0x00007f1f9e54c6d6 in QXcbConnection::processXcbEvents (this=0x55eb7521a190, flags=...) at qxcbconnection.cpp:1029
#9  0x00007f1f9e57132c in QXcbUnixEventDispatcher::processEvents (this=0x55eb7526be90, flags=...) at qxcbeventdispatcher.cpp:61
Comment 2 roland 2020-07-09 13:14:03 UTC
Created attachment 129996 [details]
New crash information added by DrKonqi

kwin_x11 (5.19.2) using Qt 5.14.2

- What I was doing when the application crashed:

I had just rebooted and wiggled the mouse to find the pointer. Screen went to some "default" 800 or 1200 resolution and kwin crashed.

-- Backtrace (Reduced):
#5  0x00007f9519df8fca in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) (this=0x55d0f13c7d90, e=0x7f94fc00edb0) at ./events.cpp:240
#6  0x00007f95174684df in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x7f94fc00edb0, result=result@entry=0x7ffe5c438e28) at kernel/qabstracteventdispatcher.cpp:488
#7  0x00007f9502c76bac in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=this@entry=0x55d0f12bcf80, event=event@entry=0x7f94fc00edb0) at qxcbconnection.cpp:550
#8  0x00007f9502c776d6 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55d0f12bcf80, flags=...) at qxcbconnection.cpp:1029
#9  0x00007f9502c9c32c in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55d0f12ff450, flags=...) at qxcbeventdispatcher.cpp:61
Comment 3 Ofejiro 2020-07-11 05:20:03 UTC
Created attachment 130032 [details]
New crash information added by DrKonqi

kwin_x11 (5.19.2) using Qt 5.14.2

- What I was doing when the application crashed:i was trying to move from one desktop tab to another

-- Backtrace (Reduced):
#5  0x00007f678e163fca in KWin::Workspace::workspaceEvent (this=0x5620a0a39bf0, e=0x7f677000ce00) at ./events.cpp:240
#6  0x00007f678b7d34df in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f677000ce00, result=result@entry=0x7fff37ea19c8) at kernel/qabstracteventdispatcher.cpp:488
#7  0x00007f6776fe1bac in QXcbConnection::handleXcbEvent (this=this@entry=0x5620a0996e40, event=event@entry=0x7f677000ce00) at qxcbconnection.cpp:550
#8  0x00007f6776fe26d6 in QXcbConnection::processXcbEvents (this=0x5620a0996e40, flags=...) at qxcbconnection.cpp:1029
#9  0x00007f677700732c in QXcbUnixEventDispatcher::processEvents (this=0x5620a09d4450, flags=...) at qxcbeventdispatcher.cpp:61
Comment 4 honestcorruption 2020-07-13 03:20:54 UTC
Created attachment 130076 [details]
New crash information added by DrKonqi

kwin_x11 (5.19.2) using Qt 5.15.0

- What I was doing when the application crashed:
When using my hot corner configured to "Present Windows - Current Desktop", kwin crashed. I can generally trigger by activiating my hot corner very quickly.

- Custom settings of the application:
Lower left hot corner configured to "Present Windows - Current Desktop"

-- Backtrace (Reduced):
#5  0x00007f40fa4d1dcc in KWin::Workspace::workspaceEvent (this=<optimized out>, e=0x7f40ec029a20) at /usr/include/qt5/QtCore/qvector.h:1041
#6  0x00007f40f90ca057 in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f40ec029a20, result=result@entry=0x7fff1582cb48) at kernel/qabstracteventdispatcher.cpp:488
#7  0x00007f40f33b2571 in QXcbConnection::handleXcbEvent (this=this@entry=0x55ef2b0dce40, event=event@entry=0x7f40ec029a20) at qxcbnativeinterface.h:101
#8  0x00007f40f33b3a86 in QXcbConnection::processXcbEvents (this=0x55ef2b0dce40, flags=...) at qxcbconnection.cpp:1003
#9  0x00007f40f33d62fc in QXcbUnixEventDispatcher::processEvents (this=0x55ef2b1af000, flags=...) at qxcbeventdispatcher.cpp:61
Comment 5 Nate Graham 2020-07-14 18:21:00 UTC
*** Bug 422899 has been marked as a duplicate of this bug. ***
Comment 6 Daniel Dawson 2020-07-20 18:26:36 UTC
Created attachment 130291 [details]
New crash information added by DrKonqi

kwin_x11 (5.19.3) using Qt 5.15.0

- What I was doing when the application crashed:
Accidentally used a screen edge, activating Present Windows - All Desktops. It appeared to crash once I cancelled it (by using the screen edge again), though I may simply have not been able to see it until the screen was returned to normal.

- Custom settings of the application:
Desktop Effects > Window Management: Present Windows is enabled.
Screen Edges: lower-left corner set to "Present Windows - All Desktops".

-- Backtrace (Reduced):
#5  0x00007f3569c5117d in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) () from /usr/lib64/libkwin.so.5
#6  0x00007f3568a15f1c in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) () from /usr/lib64/libQt5Core.so.5
#7  0x00007f3562974e31 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /usr/lib64/libQt5XcbQpa.so.5
#8  0x00007f3562976346 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5XcbQpa.so.5
#9  0x00007f356299878c in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5XcbQpa.so.5
Comment 7 Carlo Meijer 2020-07-25 20:39:29 UTC
Created attachment 130400 [details]
New crash information added by DrKonqi

kwin_x11 (5.19.3) using Qt 5.14.2

- What I was doing when the application crashed:
Move mouse to hot corner, and keep it moving in the corner direction so that windows are placed in the present position and back. Crashes after several rounds.

- Custom settings of the application:
I'm using the GLES renderer (KWIN_COMPOSE=O2ES), in case it matters

-- Backtrace (Reduced):
#5  0x00007fbaee695b06 in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) (this=0x55bf7ad5b280, e=0x7fbae0007560) at ./x11eventfilter.h:51
#6  0x00007fbaed24dbcf in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x7fbae0007560, result=result@entry=0x7fffc14db338) at kernel/qabstracteventdispatcher.cpp:488
#7  0x00007fbae6c0f865 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=this@entry=0x55bf7ac81a40, event=event@entry=0x7fbae0007560) at qxcbnativeinterface.h:101
#8  0x00007fbae6c105c6 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55bf7ac81a40, flags=...) at qxcbconnection.cpp:1029
#9  0x00007fbae6c398e0 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55bf7acdd350, flags=...) at qxcbeventdispatcher.cpp:61
Comment 8 Iiari 2020-08-10 13:28:22 UTC
Just adding that I have had the same as all of the above.  New for me since Plasma updated from 5.18 to 5.19.3 on Manjaro stable.
Comment 9 Nate Graham 2020-09-14 20:29:56 UTC
*** Bug 424752 has been marked as a duplicate of this bug. ***
Comment 10 Nate Graham 2020-09-14 20:30:08 UTC
*** Bug 425054 has been marked as a duplicate of this bug. ***
Comment 11 Nate Graham 2020-09-14 20:32:43 UTC
*** Bug 422689 has been marked as a duplicate of this bug. ***
Comment 12 Nate Graham 2020-09-14 20:34:02 UTC
Getting tons of dupes; raising priority.
Comment 13 Lucas Lima 2020-09-16 03:59:11 UTC
So I'm on KDE Neon 5.19.5 just to send debugging information on this crash, and found out all this duplicates.

If it's useful, I noticed the crash happens mostly if you trigger the corner, and upon triggering again, move the mouse quickly immediately after that. I can reproduce it reliably that way.

Hope this helps!
Comment 14 Marcio Merlone 2020-09-16 13:02:55 UTC
I can confirm Lucas Lima comments above, fast hesitation is the trigger for the bug.

You move the mouse to the hot-spot and immediately go back to the center of the screen the choose the window.

If, for some reason, you get a delay to see the effect, you go there back with the mouse to the hot-spot (maybe I didn't get the right spot, let me try again?), but at the same time  the previous trigger is starting to act.

Then it crashes.
Comment 15 Nate Graham 2020-09-18 21:17:34 UTC
*** Bug 426665 has been marked as a duplicate of this bug. ***
Comment 16 Oleg Solovyov 2020-09-21 08:17:47 UTC
KDE Plasma: 5.19.5
KDE Frameworks: 5.74.0
Qt: 5.15.1
Kernel: 5.8.9

Could not reproduce, maybe doing something wrong.
I've quickly moved mouse to corner, away from it, back to corner and repeated it several times. kwin didn't crashed.

Distro: ALT Workstation K, using Sisyphus repo.
Comment 17 Vlad Zahorodnii 2020-09-21 14:06:24 UTC
(In reply to Nate Graham from comment #12)
> Getting tons of dupes; raising priority.

The main problem with this bug is that it's difficult to reproduce. Speaking for myself, I have never been able to reproduce this crash.
Comment 18 Nate Graham 2020-09-21 14:11:03 UTC
Me neither. :(
Comment 19 Lucas Lima 2020-09-21 21:53:09 UTC
I made a video the demonstrate the crash a bit better: 

https://www.youtube.com/watch?v=7U66sUR6918

Surprisingly, as shown on the video, if you just keep moving the mouse up indefinitely it still happens.
Comment 20 Nate Graham 2020-09-21 22:45:33 UTC
Thanks for the video, that's helpful. I plugged in a mouse (usually I use my laptop's trackpad) and I can now reproduce the crash: pushing the mouse constantly in the direction of the corner eventually makes KWin crash with the same backtrace.

Hopefully you can get it to crash in the same way, Vlad!
Comment 21 Vlad Zahorodnii 2020-09-22 08:09:02 UTC
Thanks. Now, I'm also able to reproduce the crash.
Comment 22 Bug Janitor Service 2020-09-22 09:58:19 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/274
Comment 23 roland 2020-09-22 12:34:51 UTC
(In reply to Bug Janitor Service from comment #22)
> A possibly relevant merge request was started @
> https://invent.kde.org/plasma/kwin/-/merge_requests/274

I looked at the comment for the request. Yes, foreach is deadly.Lots of people used that (myself included) because it was soooo handy. Very few understood you were working on a copy of the container. Of those who understood some exploited that fact doing horrible things that cannot be done with a ranged for loop.
Comment 24 Srevin Saju 2020-09-23 13:17:00 UTC
Can reproduce on Arch Linux with kwin on X11 - 5.19.90
Comment 25 Vlad Zahorodnii 2020-09-25 08:14:48 UTC
*** Bug 426634 has been marked as a duplicate of this bug. ***
Comment 26 Vlad Zahorodnii 2020-09-29 08:26:47 UTC
Git commit a433fb08a3a9255802405a17dd4c8270c68fcb25 by Vlad Zahorodnii.
Committed on 29/09/2020 at 08:26.
Pushed by vladz into branch 'master'.

x11: Make removal of X11 event filters safe

If an X11 event filter has been activated and it unregisters another X11
event filter, then the window manager may crash because the foreach macro
in Workspace::workspaceEvent() makes a copy of m_genericEventFilters or
m_eventFilters and we can call the event() method for an already defunct
filter.

With this change, X11 event filters can be safely removed and installed
at any particular moment.

M  +42   -10   events.cpp
M  +10   -0    workspace.cpp
M  +15   -2    workspace.h

https://invent.kde.org/plasma/kwin/commit/a433fb08a3a9255802405a17dd4c8270c68fcb25
Comment 27 Vlad Zahorodnii 2020-09-29 08:27:21 UTC
Git commit c5880833d94330d022c4b6fc84c175aadeaf9632 by Vlad Zahorodnii.
Committed on 29/09/2020 at 08:27.
Pushed by vladz into branch 'Plasma/5.20'.

x11: Make removal of X11 event filters safe

If an X11 event filter has been activated and it unregisters another X11
event filter, then the window manager may crash because the foreach macro
in Workspace::workspaceEvent() makes a copy of m_genericEventFilters or
m_eventFilters and we can call the event() method for an already defunct
filter.

With this change, X11 event filters can be safely removed and installed
at any particular moment.


(cherry picked from commit a433fb08a3a9255802405a17dd4c8270c68fcb25)

M  +42   -10   events.cpp
M  +10   -0    workspace.cpp
M  +15   -2    workspace.h

https://invent.kde.org/plasma/kwin/commit/c5880833d94330d022c4b6fc84c175aadeaf9632
Comment 28 Vlad Zahorodnii 2020-09-29 08:28:19 UTC
Git commit 381b685b518f5dcffb93c18cdd89b558acde987b by Vlad Zahorodnii.
Committed on 29/09/2020 at 08:28.
Pushed by vladz into branch 'Plasma/5.18'.

x11: Make removal of X11 event filters safe

If an X11 event filter has been activated and it unregisters another X11
event filter, then the window manager may crash because the foreach macro
in Workspace::workspaceEvent() makes a copy of m_genericEventFilters or
m_eventFilters and we can call the event() method for an already defunct
filter.

With this change, X11 event filters can be safely removed and installed
at any particular moment.


(cherry picked from commit a433fb08a3a9255802405a17dd4c8270c68fcb25)

M  +42   -10   events.cpp
M  +10   -0    workspace.cpp
M  +15   -2    workspace.h

https://invent.kde.org/plasma/kwin/commit/381b685b518f5dcffb93c18cdd89b558acde987b
Comment 29 Nate Graham 2020-12-09 16:09:22 UTC
*** Bug 430180 has been marked as a duplicate of this bug. ***
Comment 30 Nate Graham 2020-12-10 15:54:24 UTC
*** Bug 430197 has been marked as a duplicate of this bug. ***
Comment 31 Vlad Zahorodnii 2020-12-11 08:00:10 UTC
*** Bug 430224 has been marked as a duplicate of this bug. ***
Comment 32 Nate Graham 2021-01-05 15:33:02 UTC
*** Bug 430945 has been marked as a duplicate of this bug. ***
Comment 33 Vlad Zahorodnii 2021-01-19 08:47:09 UTC
*** Bug 398977 has been marked as a duplicate of this bug. ***
Comment 34 nick 2021-01-19 21:09:37 UTC
Created attachment 135004 [details]
New crash information added by DrKonqi

kwin_x11 (5.18.5) using Qt 5.12.8

- What I was doing when the application crashed:
Setting up a hot corner with present all windows. This has affected other aspects of my system, like Auto Hide for the plasma task manager 
- Custom settings of the application:

-- Backtrace (Reduced):
#7  0x00007f25e2f5de39 in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) () from /lib/x86_64-linux-gnu/libkwin.so.5
#8  0x00007f25e1c21d8f in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f25dbb787b5 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#10 0x00007f25dbb7978a in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
[...]
#12 0x00007f25e1c234db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
Comment 35 Nate Graham 2021-01-26 06:18:36 UTC
*** Bug 431795 has been marked as a duplicate of this bug. ***
Comment 36 Vlad Zahorodnii 2021-03-26 08:40:16 UTC
*** Bug 434865 has been marked as a duplicate of this bug. ***
Comment 37 Nate Graham 2021-05-21 15:32:44 UTC
*** Bug 437457 has been marked as a duplicate of this bug. ***
Comment 38 Karoline Pauls 2021-06-22 14:08:30 UTC
Created attachment 139593 [details]
New crash information added by DrKonqi

kwin_x11 (5.19.5) using Qt 5.14.2

- What I was doing when the application crashed:

	Similarly to 423319, I can trigger the crash by moving to the top left corner and continuing moving up-left. I can reproduce it quite easily. I use a touchpad, which may be more janky than a mouse.
	My KDE version however, is more recent - Plasma 5.19.5, newer than the version the original 423319 bugfix was applied to (5.18.6).

	Operating System: Kubuntu 20.10
	KDE Plasma Version: 5.19.5
	KDE Frameworks Version: 5.74.0
	Qt Version: 5.14.2

-- Backtrace (Reduced):
#4  0x00007f7fc105b4ee in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) () from /lib/x86_64-linux-gnu/libkwin.so.5
#5  0x00007f7fbfcd34ef in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f7fb4097ea0, result=result@entry=0x7ffcf67d6118) at kernel/qabstracteventdispatcher.cpp:488
#6  0x00007f7fb9a34505 in QXcbConnection::handleXcbEvent (this=this@entry=0x561065777bc0, event=event@entry=0x7f7fb4097ea0) at qxcbnativeinterface.h:101
#7  0x00007f7fb9a35a46 in QXcbConnection::processXcbEvents (this=0x561065777bc0, flags=...) at qxcbconnection.cpp:1029
#8  0x00007f7fb9a58740 in QXcbUnixEventDispatcher::processEvents (this=0x5610657c8910, flags=...) at qxcbeventdispatcher.cpp:61