Bug 449317 - (SEGV) KWin Wayland crashed in KWin::Workspace::geometry when existing fullscreen in VirtualBox
Summary: (SEGV) KWin Wayland crashed in KWin::Workspace::geometry when existing fullsc...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.24.5
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: wayland
Depends on:
Blocks:
 
Reported: 2022-01-29 14:02 UTC by postix
Modified: 2023-02-24 01:36 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.27.2


Attachments
Full stacktrace of the crash (35.00 KB, text/plain)
2022-01-29 14:02 UTC, postix
Details
KWin Support Information (5.06 KB, text/plain)
2022-01-29 14:02 UTC, postix
Details
Journalctl log (143.20 KB, text/plain)
2022-02-13 14:40 UTC, postix
Details
gdb bt full (13.85 KB, text/plain)
2022-06-13 19:01 UTC, postix
Details

Note You need to log in before you can comment on or make changes to this bug.
Description postix 2022-01-29 14:02:38 UTC
Created attachment 146037 [details]
Full stacktrace of the crash

STEPS TO REPRODUCE
1. Entered fullscreen in VirtualBox (Host + F; openSUSE TW host)
2. Changed resolution from WQHD to 4k
3. Exit fullscreen (Host + F)
4. Did something else on the host and came back to the VM

OBSERVED RESULT
The screen in the VM was frozen. It recovered after changing the tty back and forth.

STACKTRACE

```
#0  KWin::Workspace::geometry (this=0x0) at ./src/workspace.cpp:2369
#1  0x00007f79ae9b6650 in KWin::LibInput::Connection::processEvents (this=0x55fa305a4f70) at ./src/workspace.h:811
#2  0x00007f79ac53dd19 in QObject::event (this=0x55fa304808e0, e=0x7f793c004780) at kernel/qobject.cpp:1314
#3  0x00007f79ad034dc3 in QApplicationPrivate::notify_helper (this=this@entry=0x55fa304429f0, receiver=receiver@entry=0x55fa304808e0, e=e@entry=0x7f793c004780) at kernel/qapplication.cpp:3632
#4  0x00007f79ad03dbb8 in QApplication::notify (this=0x7ffc16f967f0, receiver=0x55fa304808e0, e=0x7f793c004780) at kernel/qapplication.cpp:3156
#5  0x00007f79ac51017a in QCoreApplication::notifyInternal2 (receiver=0x55fa304808e0, event=0x7f793c004780) at ../../include/QtCore/5.15.3/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:332
#6  0x00007f79ac512a81 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55fa3041b3f0) at kernel/qcoreapplication.cpp:1821
#7  0x00007f79ac567d6e in QEventDispatcherUNIX::processEvents (this=0x55fa30458870, flags=...) at kernel/qeventdispatcher_unix.cpp:468
#8  0x000055fa3001c1b1 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
#9  0x00007f79ac50ec7b in QEventLoop::exec (this=this@entry=0x7ffc16f96550, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#10 0x00007f79ac516e24 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#11 0x000055fa2fefdb0c in main (argc=<optimized out>, argv=<optimized out>) at ./src/main_wayland.cpp:727
```



SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Neon Testing
KDE Plasma Version: 5.23.90
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
Wayland
Comment 1 postix 2022-01-29 14:02:55 UTC
Created attachment 146038 [details]
KWin Support Information
Comment 2 postix 2022-02-13 14:40:47 UTC
Created attachment 146672 [details]
Journalctl log

Happened again on 5.24.0. For further debugging, please also see the journalctl log.
Comment 3 postix 2022-06-13 19:01:15 UTC
Created attachment 149663 [details]
gdb bt full

Still reproducible on 5.24.5. Please see the `gdb bt full` stacktrace.
Comment 4 Bug Janitor Service 2023-02-22 19:40:47 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/3667
Comment 5 Vlad Zahorodnii 2023-02-23 00:44:44 UTC
Git commit da26deaa5c843ef303ef9f1b9f0cd3d341c5c5f5 by Vlad Zahorodnii.
Committed on 22/02/2023 at 19:39.
Pushed by vladz into branch 'master'.

backends/libinput: Fix crash upon receiving motion absolute events

The input events can be processed when the workspace is not available,
e.g. during startup or shutdown, so add a corresponding guard.

As a long term plan, we need to decouple Workspace from low-level input
backend parts, but it will be a too invasive change for now.
Related: bug 465456

M  +3    -1    src/backends/libinput/connection.cpp

https://invent.kde.org/plasma/kwin/commit/da26deaa5c843ef303ef9f1b9f0cd3d341c5c5f5
Comment 6 Vlad Zahorodnii 2023-02-23 10:42:04 UTC
Git commit 6970199ccc6ff54badcbf2b33a22aada89c164cc by Vlad Zahorodnii.
Committed on 23/02/2023 at 07:23.
Pushed by vladz into branch 'Plasma/5.27'.

backends/libinput: Fix crash upon receiving motion absolute events

The input events can be processed when the workspace is not available,
e.g. during startup or shutdown, so add a corresponding guard.

As a long term plan, we need to decouple Workspace from low-level input
backend parts, but it will be a too invasive change for now.
Related: bug 465456


(cherry picked from commit da26deaa5c843ef303ef9f1b9f0cd3d341c5c5f5)

M  +3    -1    src/backends/libinput/connection.cpp

https://invent.kde.org/plasma/kwin/commit/6970199ccc6ff54badcbf2b33a22aada89c164cc