https://bugs.kde.org/show_bug.cgi?id=515179

            Bug ID: 515179
           Summary: Kwin crashes when monitor wakes up while using Input
                    Leap in Wayland
    Classification: Plasma
           Product: kwin
      Version First 6.5.91
       Reported In:
          Platform: Compiled Sources
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Application: kwin_wayland (6.5.91)
 (Compiled from sources)
ApplicationNotResponding [ANR]: false
Qt Version: 6.10.1
Frameworks Version: 6.22.0
Operating System: Linux 6.18.7-gentoo-dist x86_64
Windowing System: Wayland
Distribution: "Gentoo Linux"
DrKonqi: 6.5.91 [CoredumpBackend]

-- Information about the crash:
This crash was generated under Plasma 6.6 Beta 2, but I experienced it under
6.6 Beta 1 as well. I haven't seen this kind of issue with any earlier versions
of Plasma, at least the relevant versions since Plasma Wayland and InputLeap
were compatible.

I work from home and have a work laptop. I have a personal desktop (which is
running Gentoo Linux and KDE Plasma) and a work laptop running Windows. In the
InputLeap configuration, the Linux desktop is acting as the client and the
Windows laptop is the server. So of course, in this configuration my mouse and
keyboard are connected to my work laptop (via a dock fwiw), so when I'm trying
to use my Linux desktop, that would happen via InputLeap and the relevant
portals.

When I'm working I do sometimes get distracted by work and the Plasma desktop
goes long enough without activity that the screen locks and then eventually the
monitors go into power saving mode. Before 6.6, simply dragging my mouse toward
my Plasma desktop wakes my monitor up and then I can get back to my desktop
after entering my password. Then I can do whatever I wanted to do.

With 6.6, kwin crashes either when the monitor turns off or when it wakes up.
The experience is that after my Linux desktop screens turn off, I drag my mouse
from the Windows laptop to the Linux desktop and InputLeap in Windows does
appear to make the Linux desktop the active system. My Linux screens even wakes
up like normal and I see in the logs for my Windows InputLeap instance that the
mouse is switching to to the Linux system. But no matter how much I drag my
mouse to my Linux system, I never see any indication of activity on the Plasma
screen (beyond the fact it woke up). I think I also typed a bit to see if there
was anything that came up, but the input field for the password isn't even
showing by that point, so not much happens.

I switch my physical mouse/keyboard to my Linux system and then unlock my
screen and then I see that kwin had crashed. Interestingly, the InputLeap app
still seems to be running but I think pretty much everything else I was running
disappeared. 

I believe this is related to my monitor's power saving mode so of course a
workaround is to enable "Manually block sleep and screen locking" which makes
it so my monitor always stays on. I haven't tested this too extensively, but
there's been a few days that I've used the system running 6.6 during work and
didn't have the issue if my monitor didn't go to sleep.

I don't know if InputLeap has anything directly to do this since I haven't
noticed anything in the stack trace, but I've experienced this bug regardless
of the version of Input Leap I'm using. I first observed this using the flatpak
version of InputLeap but switched to using Gentoo's InputLeap ebuild that
builds straight from their github, which this system is currently using.

The crash can be reproduced every time.

-- Backtrace (Reduced):
#4  KWin::EisContext::handleEvents (this=0x55edf6ca5e00) at
/usr/src/debug/kde-plasma/kwin-6.5.91/kwin-6.5.91/src/plugins/eis/eiscontext.cpp:223
#5  0x00007f8c0ac490e2 in QtPrivate::QSlotObjectBase::call (this=<optimized
out>, r=0x55edf6ca5e20, a=0x7ffde6346940) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobjectdefs_impl.h:461
#6  doActivate<false> (sender=0x55edf6ca5e20, signal_index=3,
argv=argv@entry=0x7ffde6346940) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qobject.cpp:4257
[...]
#9  QSocketNotifier::activated (this=0x55edf6ca5e20, _t1=..., _t2=<optimized
out>, _t3=...) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1_build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:161
#10 QSocketNotifier::event (this=0x55edf6ca5e20, e=<optimized out>) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qsocketnotifier.cpp:324
#11 0x00007f8c0bfb6582 in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x55edf6ca5e20, e=0x7ffde6346a60) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/widgets/kernel/qapplication.cpp:3305
#12 0x00007f8c0ac65068 in QCoreApplication::notifyInternal2
(receiver=0x55edf6ca5e20, event=0x7ffde6346a60) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:1109
#13 0x00007f8c0ac6524d in QCoreApplication::sendEvent (receiver=<optimized
out>, event=<optimized out>) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:1549
#14 0x00007f8c0ab35ef6 in QEventDispatcherUNIXPrivate::activateSocketNotifiers
(this=this@entry=0x55edf433be30) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qeventdispatcher_unix.cpp:276
#15 0x00007f8c0ab363b0 in QEventDispatcherUNIX::processEvents (this=<optimized
out>, flags=...) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qeventdispatcher_unix.cpp:498
#16 0x00007f8c0b810ab1 in QUnixEventDispatcherQPA::processEvents
(this=<optimized out>, flags=...) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/gui/platform/unix/qunixeventdispatcher.cpp:28
#17 0x00007f8c0ac869ca in QEventLoop::exec (this=this@entry=0x7ffde6346bf0,
flags=..., flags@entry=...) at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/global/qflags.h:77
#18 0x00007f8c0ac86b50 in QCoreApplication::exec () at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:1452
#19 0x00007f8c0b302030 in QGuiApplication::exec () at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/gui/kernel/qguiapplication.cpp:1973
#20 0x00007f8c0bf39fb9 in QApplication::exec () at
/usr/src/debug/dev-qt/qtbase-6.10.1/qtbase-everywhere-src-6.10.1/src/widgets/kernel/qapplication.cpp:2575
#21 0x000055edeb1ad0cd in main (argc=<optimized out>, argv=<optimized out>) at
/usr/src/debug/kde-plasma/kwin-6.5.91/kwin-6.5.91/src/main_wayland.cpp:641


Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to