Bug 444186

Summary: Resuming wayland crashes kwin in KWin::PointerInputRedirection::updateAfterScreenChange(), and secondary screen has wrong dimensions
Product: [Plasma] kwin Reporter: kinta <aleixq>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: dev+kde, hasezoey, nate
Priority: NOR Keywords: wayland-only
Version First Reported In: 5.23.1   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: coredump afterscreenchange
both screenshot and real situation.

Description kinta 2021-10-21 11:11:55 UTC
SUMMARY
When resuming after suspending or when switching between terminal and wayland session sometimes kwin crash and secondary screen has wrong dimensions and pointer has a vertical offset.

STEPS TO REPRODUCE
1. Switch between terminal and wayland session. 
OR
1. Difficult to determine but I think it may be related with the use of secondary display when restoring the session after suspend, but that's not happening always after restoring...


OBSERVED RESULT
Secondary screen has wrong dimensions and pointer has a vertical offset.


SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.23.1
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.2
Kernel Version: 5.14.13-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 8 × 11th Gen Intel® Core™ i5-1135G7 @ 2.40GHz
Memory: 15.4 GiB of RAM
Graphics Processor: Mesa Intel® Xe Graphics


ADDITIONAL INFORMATION

Both displays are hidpi and so on scaled at 200%
Comment 1 kinta 2021-10-21 11:13:51 UTC
Created attachment 142719 [details]
coredump afterscreenchange

generated by `/usr/bin/kwin_wayland --wayland_fd 5 --socket wayland-0 --xwayland-fd 7 --xwayl'.
Program terminated with signal SIGSEGV, Segmentation fault.
Comment 2 kinta 2021-10-21 11:14:53 UTC
Created attachment 142720 [details]
both screenshot and real situation.

This screenshot explains the situation, also there's the pointer offset, as cursor points below it appears.
Comment 3 kinta 2021-10-21 11:21:55 UTC
Output of kscreen-doctor after the mess, while in settings 3840x2160 scale: 200% is configured


kscreen-doctor -o
Output: 1 desconegut eDP-1-desconegut enabled connected  Panel Modes: 0:2560x1600@60*! Geometry: 0,0 1280x800 Scale: 2 Rotation: 1 Overscan: 0 Vrr: Automatic RgbRange: Automatic 
Output: 2 Goldstar Company Ltd LG Ultra HD/214370 enabled connected primary Unknown Modes: 0:3840x2160@60! 1:3840x2160@60 2:3840x2160@60 3:3840x2160@50 4:3840x2160@30 5:3840x2160@30 6:3840x2160@30 7:3840x2160@25 8:3840x2160@24 9:3840x2160@24 10:1920x1080@60 11:1920x1080@60 12:1920x1080@60 13:1920x1080@60 14:1920x1080@60 15:1920x1080@30 16:1920x1080@30 17:1920x1080@24 18:1920x1080@24 19:1600x900@60 20:1280x1024@60 21:1280x800@60 22:1280x720@60 23:1280x720@60 24:1280x720@60 25:1024x768@60 26:800x600@60 27:720x480@60 28:720x480@60 29:720x480@60 30:720x480@60 31:640x480@60 32:640x480@60 33:640x480@60 34:2560x1440@60* Geometry: 1280,0 1280x720 Scale: 2 Rotation: 1 Overscan: 0 Vrr: incapable RgbRange: Automatic primary
Comment 4 Nate Graham 2021-10-21 14:19:10 UTC
Attaching the backtrace:

#0  0x00007f6899fa22b0 in KWin::PointerInputRedirection::updateAfterScreenChange() () at /usr/lib/libkwin.so.5
#1  0x00007f6899fa458f in KWin::PointerInputRedirection::init() () at /usr/lib/libkwin.so.5
#2  0x00007f6899f54845 in KWin::InputRedirection::setupWorkspace() () at /usr/lib/libkwin.so.5
#3  0x00007f689870e76b in  () at /usr/lib/libQt5Core.so.5
#4  0x000055826ab23a61 in  ()
#5  0x00007f689870e76b in  () at /usr/lib/libQt5Core.so.5
#6  0x00007f6899ef8b73 in  () at /usr/lib/libkwin.so.5
#7  0x00007f6899efaa06 in KWin::WaylandCompositor::start() () at /usr/lib/libkwin.so.5
#8  0x00007f689870450f in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#9  0x00007f68993b4d62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#10 0x00007f68986d73ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#11 0x00007f68986da4b9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#12 0x00007f689872d48c in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#13 0x000055826ab8631e in  ()
#14 0x00007f68986d5d2c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#15 0x00007f68986de294 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#16 0x000055826ab228cb in  ()
#17 0x00007f6897e34b25 in __libc_start_main () at /usr/lib/libc.so.6
#18 0x000055826ab232ce in  ()
Comment 5 Nate Graham 2021-12-09 19:30:26 UTC
*** Bug 446703 has been marked as a duplicate of this bug. ***
Comment 6 David Edmundson 2023-09-06 10:38:18 UTC
This bug was reported against an outdated version of KWin. We have made many changes since the. 
If the issue persists in newer versions can you reopen the bug report updating the version number.