Bug 421762

Summary: kwin_x11 crashes if action of both upper left corner and left edge is set to "Toggle window switching" in "Screen edges" kcm
Product: [Plasma] kwin Reporter: Patrick Silva <bugseforuns>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: nikitadd22
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Patrick Silva 2020-05-19 09:02:47 UTC
Application: kwin_x11 (5.19.80)

Qt Version: 5.14.2
Frameworks Version: 5.71.0
Operating System: Linux 5.3.0-45-generic x86_64
Windowing system: X11
Distribution: KDE neon Unstable Edition

-- Information about the crash:
- What I was doing when the application crashed:
open system settings > workspace behavior > screen edges
set "Toggle window switching"  action to both upper left corner and left edge
try to trigger the action via theupper left corner
kwin_x11 crashes

I'm not sure if this is related, but I noticed that "Toggle window switching" action never works when it only is set to the left edge.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Content of s_kcrashErrorMessage: [Current thread is 1 (Thread 0x7f21eb193800 (LWP 30568))]
[KCrash Handler]
#6  0x00007f21eabafae3 in std::__atomic_base<int>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=0x2) at /usr/include/c++/7/bits/atomic_base.h:396
#7  0x00007f21eabafae3 in QAtomicOps<int>::loadRelaxed<int>(std::atomic<int> const&) (_q_value=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:239
#8  0x00007f21eabafae3 in QBasicAtomicInteger<int>::loadRelaxed() const (this=0x2) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:107
#9  0x00007f21eabafae3 in QtPrivate::RefCount::ref() (this=0x2) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qrefcount.h:55
#10 0x00007f21eabafae3 in QVector<int>::QVector(QVector<int> const&) (this=0x7ffd09238990, v=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:380
#11 0x00007f21eabadb86 in KWin::X11EventFilter::eventTypes() const (this=0x7f21cc007b30) at ./x11eventfilter.h:51
#12 0x00007f21eabadb86 in KWin::Workspace::workspaceEvent(xcb_generic_event_t*) (this=0x55b64fbaecc0, e=0x7f21cc00bc30) at ./events.cpp:240
#13 0x00007f21e821d4df in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x7f21cc00bc30, result=result@entry=0x7ffd09238a68) at kernel/qabstracteventdispatcher.cpp:488
#14 0x00007f21d3a2fbac in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=this@entry=0x55b64faa7e20, event=event@entry=0x7f21cc00bc30) at qxcbconnection.cpp:550
#15 0x00007f21d3a306d6 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b64faa7e20, flags=...) at qxcbconnection.cpp:1029
#16 0x00007f21d3a5532c in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55b64faf3c00, flags=...) at qxcbeventdispatcher.cpp:61
#17 0x00007f21e821ed2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd09238bc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#18 0x00007f21e82284a0 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1383
#19 0x000055b64eb453db in main(int, char**) (argc=<optimized out>, argv=0x7ffd09238e38) at ./main_x11.cpp:479

Possible duplicates by query: bug 421244, bug 420495, bug 417807, bug 417542, bug 414147.

Reported using DrKonqi
Comment 1 Nikita 2020-06-11 22:49:51 UTC
Created attachment 129247 [details]
New crash information added by DrKonqi

kwin_x11 (5.19.0) using Qt 5.15.0

- What I was doing when the application crashed:

I have my top left window edge set to present windows all desktops. and sometimes when i go to top left kwin crashes

-- Backtrace (Reduced):
#5  0x00007fc0fb132dbc in KWin::Workspace::workspaceEvent (this=<optimized out>, e=0x7fc0ec03a800) at /usr/include/qt5/QtCore/qvector.h:1041
#6  0x00007fc0f9d2b057 in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7fc0ec03a800, result=result@entry=0x7ffc762b9ad8) at kernel/qabstracteventdispatcher.cpp:488
#7  0x00007fc0f401c571 in QXcbConnection::handleXcbEvent (this=this@entry=0x55a199ea3ea0, event=event@entry=0x7fc0ec03a800) at qxcbnativeinterface.h:101
#8  0x00007fc0f401da86 in QXcbConnection::processXcbEvents (this=0x55a199ea3ea0, flags=...) at qxcbconnection.cpp:1003
#9  0x00007fc0f40402fc in QXcbUnixEventDispatcher::processEvents (this=0x55a199f55a80, flags=...) at qxcbeventdispatcher.cpp:61
Comment 2 Justin Zobel 2022-10-10 11:16:36 UTC
Thank you for reporting this crash in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the crash with a recent software version?

If you can reproduce the issue, please change the status to "CONFIRMED" when replying. Thank you!
Comment 3 Patrick Silva 2022-10-10 11:40:46 UTC
Cannot reproduce on neon unstable.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.26.80
KDE Frameworks Version: 5.99.0
Qt Version: 5.15.6
Graphics Platform: X11