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

            Bug ID: 420435
           Summary: [Wayland] Kwin aborts after typing Alt+X into dosemu
           Product: kwin
           Version: 5.18.4
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: kwin-bugs-n...@kde.org
          Reporter: magib...@hotmail.com
  Target Milestone: ---

SUMMARY

Kwin sometimes crashes when typing the Alt+X key combination in dosemu, in a
Wayland session.

I started the Wayland session with the GDK_BACKEND=x11 and QT_QPA_PLATFORM=xcb
environment variables so as to force applications to use Xwayland. I don't know
if this is required to reproduce the issue.

dosemu seems to be an X11 application as its window has the X11 icon.

The crash does not happen every time. I'm not sure yet what needs to be done to
always hit this issue.

STEPS TO REPRODUCE
1. Start a wayland session, e.g. 'GDK_BACKEND=x11 QT_QPA_PLATFORM=xcb
startplasma-wayland'
2. Open a dosemu window, then type 'edit' to get into FreeDOS edit
3. Press the Alt+X key combination.

OBSERVED RESULT

kwin crashes with the following backtrace:

> Thread 1 "kwin_wayland" received signal SIGABRT, Aborted.
> 0x00007f96f702ece5 in raise () from /usr/lib/libc.so.6
> #0  0x00007f96f702ece5 in raise () at /usr/lib/libc.so.6
> #1  0x00007f96f701892c in abort () at /usr/lib/libc.so.6
> #2  0x00007f96f745a938 in qt_message_fatal (context=..., message=<synthetic 
> pointer>...) at global/qlogging.cpp:1914
> #3  QMessageLogger::fatal(char const*, ...) const (this=<optimized out>, 
> msg=<optimized out>)
>     at global/qlogging.cpp:893
> #4  0x00007f96f84f13db in KWin::AbstractClient::transientPlacement(QRect 
> const&) const () at /usr/lib/libkwin.so.5
> #5  0x00007f96f76a6cde in QtPrivate::QSlotObjectBase::call(QObject*, void**)
>     (a=0x7ffc275811e0, r=0x55bb466002d0, this=0x55bb46f07830)
>     at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
> #6  doActivate<false>(QObject*, int, void**) (sender=0x55bb46f07340, 
> signal_index=3, argv=0x7ffc275811e0)
>     at kernel/qobject.cpp:3870
> #7  0x00007f96f81d30a0 in 
> KWayland::Server::ClientConnection::disconnected(KWayland::Server::ClientConnection*)
>  ()
>     at /usr/lib/libKF5WaylandServer.so.5
> #8  0x00007f96f81e3d0d in 
> KWayland::Server::ClientConnection::Private::destroyListenerCallback(wl_listener*,
>  void*) ()
>     at /usr/lib/libKF5WaylandServer.so.5
> #9  0x00007f96f4e1de0f in wl_priv_signal_final_emit
>     (signal=signal@entry=0x55bb46f031b8, data=data@entry=0x55bb46f03150)
>     at ../wayland-1.18.0/src/wayland-server.c:2157
> #10 0x00007f96f4e1e002 in wl_client_destroy (client=0x55bb46f03150) at 
> ../wayland-1.18.0/src/wayland-server.c:880
> #11 0x00007f96f4e1e109 in destroy_client_with_error (reason=<optimized out>, 
> client=<optimized out>)
>     at ../wayland-1.18.0/src/wayland-server.c:319
> #12 wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, 
> data=0x55bb46f03150)
>     at ../wayland-1.18.0/src/wayland-server.c:342
> #13 0x00007f96f4e1ffaa in wl_event_loop_dispatch (loop=0x55bb4664dd60, 
> timeout=<optimized out>)
>     at ../wayland-1.18.0/src/event-loop.c:1027
> #14 0x00007f96f81e8c70 in KWayland::Server::Display::Private::dispatch() () 
> at /usr/lib/libKF5WaylandServer.so.5
> #15 0x00007f96f76a6cde in QtPrivate::QSlotObjectBase::call(QObject*, void**)
>     (a=0x7ffc27581640, r=0x55bb4663a3f0, this=0x55bb4664e2b0)
>     at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
> #16 doActivate<false>(QObject*, int, void**) (sender=0x55bb4664e190, 
> signal_index=3, argv=0x7ffc27581640)
>     at kernel/qobject.cpp:3870
> #17 0x00007f96f76a130f in QMetaObject::activate(QObject*, QMetaObject const*, 
> int, void**)
>     (sender=sender@entry=0x55bb4664e190, m=m@entry=0x7f96f78fd220 
> <QSocketNotifier::staticMetaObject>, 
> local_signal_index=local_signal_index@entry=0, 
> argv=argv@entry=0x7ffc27581640) at kernel/qobject.cpp:3930
> #18 0x00007f96f76aa532 in QSocketNotifier::activated(int, 
> QSocketNotifier::QPrivateSignal)
>     (this=this@entry=0x55bb4664e190, _t1=<optimized out>, _t2=...) at 
> .moc/moc_qsocketnotifier.cpp:141
> #19 0x00007f96f76aa882 in QSocketNotifier::event(QEvent*) 
> (this=0x55bb4664e190, e=0x7ffc27581900)
>     at kernel/qsocketnotifier.cpp:266
> #20 0x00007f96f7a60352 in QApplicationPrivate::notify_helper(QObject*, 
> QEvent*)
>     (this=this@entry=0x55bb465d39b0, receiver=receiver@entry=0x55bb4664e190, 
> e=e@entry=0x7ffc27581900)
>     at kernel/qapplication.cpp:3685
> #21 0x00007f96f7a69829 in QApplication::notify(QObject*, QEvent*)
>     (this=0x7ffc27581ce0, receiver=0x55bb4664e190, e=0x7ffc27581900) at 
> kernel/qapplication.cpp:3431
> #22 0x00007f96f76714f2 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
>     (receiver=0x55bb4664e190, event=0x7ffc27581900) at 
> ../../include/QtCore/../../src/corelib/kernel/qobject.h:153
> #23 0x00007f96f76c6b04 in 
> QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x55bb465e2630)
>     at kernel/qeventdispatcher_unix.cpp:304
> #24 0x00007f96f76c6f75 in 
> QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
>     (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:509
> #25 0x00007f96f042785e in  () at 
> /usr/lib/qt/plugins/platforms/KWinQpaPlugin.so
> #26 0x00007f96f767005c in 
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
>     (this=this@entry=0x7ffc27581a90, flags=..., flags@entry=...)
>     at ../../include/QtCore/../../src/corelib/global/qflags.h:136
> #27 0x00007f96f7678066 in QCoreApplication::exec() () at 
> ../../include/QtCore/../../src/corelib/global/qflags.h:118
> #28 0x000055bb45805f54 in  ()
> #29 0x00007f96f701a023 in __libc_start_main () at /usr/lib/libc.so.6
> #30 0x000055bb458063ce in _start ()

The startplasma-wayland output contains the following messages (pid 1494 is
kwin_wayland):

> error in client communication (pid 1494)
> Xwayland Connection died
> (EE) 
> Fatal server error:
> (EE) Error sending request: Resource temporarily unavailable
> (EE) 
> X connection to :0 broken (explicit kill or server shutdown).
> XIO:  fatal IO error 0 (Success) on X server ":0"
>       after 10810 requests (6294 known processed) with 0 events remaining.
> X connection to :0 broken (explicit kill or server shutdown).
> klauncher: Exiting on signal 1
> XIO:  fatal IO error 9 (Bad file descriptor) on X server ":0"
>       after 10810 requests (6294 known processed) with 0 events remaining.
> stty: 'standard input': Inappropriate ioctl for device
> "/usr/bin/kwin_wayland" ("--xwayland", "--libinput", 
> "--exit-with-session=/usr/lib/startplasma-waylandsession") exited with code 6
> startplasmacompositor: Shutting down...
> startplasmacompositor: Done.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.18.4
KDE Frameworks Version: 5.69.0
Qt Version: 5.14.2
Kernel Version: 5.6.5-arch3-1
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-6200U CPU @ 2.30GHz
Memory: 11,6 GiB of RAM

dosemu version: 2.0pre8.r1740.gb364fdc61 (package dosemu2-git)

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

Reply via email to