Bug 434977 - kio client crashes in QtWayland::zwp_input_panel_v1::get_input_panel_surface() when I try to open settings of Maliit virtual keyboard
Summary: kio client crashes in QtWayland::zwp_input_panel_v1::get_input_panel_surface(...
Status: RESOLVED DOWNSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: git master
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL: https://github.com/maliit/keyboard/is...
Keywords:
: 434979 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-03-26 14:27 UTC by Patrick Silva
Modified: 2022-02-03 10:54 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
WAYLAND_DEBUG (27.31 KB, text/plain)
2021-04-02 11:07 UTC, Patrick Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2021-03-26 14:27:04 UTC
SUMMARY
I have enabled maliit virtual keyboard on Wayland session of neon unstable
following Martin's instructions

https://blog.martin-graesslin.com/blog/2021/03/using-maliit-keyboard-in-a-plasma-wayland-session/

When I click on the second button on bottom of maliit virtual keyboard, then click on "Settings.." option, Plasma notifies about kio client crash.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.21.80
KDE Frameworks Version: 5.81.0
Qt Version: 5.15.2
Graphics Platform: Wayland


Thread 6 (Thread 0x7f2c6ffff700 (LWP 19569)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5631b7718f28) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5631b7718ed8, cond=0x5631b7718f00) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5631b7718f00, mutex=0x5631b7718ed8) at pthread_cond_wait.c:638
#3  0x00007f2c7e276e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f2c7e276a6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f2c89b9d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f2c8a55c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f2c7cb54700 (LWP 19568)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5631b7718f28) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5631b7718ed8, cond=0x5631b7718f00) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5631b7718f00, mutex=0x5631b7718ed8) at pthread_cond_wait.c:638
#3  0x00007f2c7e276e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f2c7e276a6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f2c89b9d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f2c8a55c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f2c7d355700 (LWP 19567)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5631b7718f28) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5631b7718ed8, cond=0x5631b7718f00) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5631b7718f00, mutex=0x5631b7718ed8) at pthread_cond_wait.c:638
#3  0x00007f2c7e276e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f2c7e276a6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f2c89b9d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f2c8a55c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f2c7db56700 (LWP 19566)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5631b7718f28) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5631b7718ed8, cond=0x5631b7718f00) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5631b7718f00, mutex=0x5631b7718ed8) at pthread_cond_wait.c:638
#3  0x00007f2c7e276e6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f2c7e276a6b in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f2c89b9d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f2c8a55c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f2c851cc700 (LWP 19564)):
#0  0x00007f2c8a54faff in __GI___poll (fds=0x7f2c80005240, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f2c891de36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f2c80005240, timeout=<optimized out>, context=0x7f2c80000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f2c80000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f2c891de4a3 in g_main_context_iteration (context=0x7f2c80000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f2c8ab1affb in QEventDispatcherGlib::processEvents (this=0x7f2c80000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f2c8aabf1eb in QEventLoop::exec (this=this@entry=0x7f2c851cbcb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f2c8a8d9a52 in QThread::exec (this=this@entry=0x7f2c89e59d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f2c89dd5f4b in QDBusConnectionManager::run (this=0x7f2c89e59d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f2c8a8dabec in QThreadPrivate::start (arg=0x7f2c89e59d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f2c89b9d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f2c8a55c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f2c86b5a180 (LWP 19563)):
#0  __GI_raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f2c89c20fcc in KCrash::defaultCrashHandler (sig=11) at ./src/kcrash.cpp:576
#2  <signal handler called>
#3  0x00007f2c7dd16004 in QtWayland::zwp_input_panel_v1::get_input_panel_surface(wl_surface*) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/wayland-shell-integration/libinputpanel-shell.so
#4  0x00007f2c7dd14af3 in QtWaylandClient::QWaylandInputPanelShellIntegration::createShellSurface(QtWaylandClient::QWaylandWindow*) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/wayland-shell-integration/libinputpanel-shell.so
#5  0x00007f2c86d48a15 in QtWaylandClient::QWaylandWindow::initWindow (this=0x5631b76352b0) at qwaylandwindow.cpp:145
#6  0x00007f2c86d48f9a in QtWaylandClient::QWaylandWindow::setVisible (visible=true, this=0x5631b76352b0) at qwaylandwindow.cpp:429
#7  QtWaylandClient::QWaylandWindow::setVisible (this=0x5631b76352b0, visible=<optimized out>) at qwaylandwindow.cpp:419
#8  0x00007f2c8af659fb in QWindowPrivate::setVisible (this=0x5631b7799e20, visible=visible@entry=true) at kernel/qwindow.cpp:408
#9  0x00007f2c8b6ac921 in QWidgetWindow::setNativeWindowVisibility (this=this@entry=0x5631b7797370, visible=visible@entry=true) at kernel/qwidgetwindow.cpp:215
#10 0x00007f2c8b685e0e in QWidgetPrivate::show_sys (this=this@entry=0x5631b76408f0) at kernel/qwidget.cpp:7892
#11 0x00007f2c8b68f5bf in QWidgetPrivate::show_helper (this=this@entry=0x5631b76408f0) at kernel/qwidget.cpp:7815
#12 0x00007f2c8b6926a3 in QWidgetPrivate::setVisible (this=0x5631b76408f0, visible=<optimized out>) at kernel/qwidget.cpp:8111
#13 0x00007f2c8b692966 in QWidget::setVisible (this=this@entry=0x5631b7642a90, visible=visible@entry=true) at kernel/qwidget.cpp:8043
#14 0x00007f2c8b85bcc8 in QDialog::setVisible (this=0x5631b7642a90, visible=<optimized out>) at dialogs/qdialog.cpp:787
#15 0x00007f2c8b85b326 in QDialog::exec (this=0x5631b7642a90) at dialogs/qdialog.cpp:593
#16 0x00007f2c89fc2511 in KMessageBox::createKMessageBox (dialog=0x5631b7642a90, buttons=0x5631b7640660, icon=..., text=..., strlist=..., ask=..., checkboxReturn=0x0, options=..., details=..., notifyType=QMessageBox::Critical) at /usr/include/c++/9/bits/atomic_base.h:413
#17 0x00007f2c89fc2ae1 in KMessageBox::createKMessageBox (dialog=dialog@entry=0x5631b7642a90, buttons=buttons@entry=0x5631b7640660, icon=icon@entry=QMessageBox::Critical, text=..., strlist=..., ask=..., checkboxReturn=0x0, options=..., details=...) at ./src/kmessagebox.cpp:182
#18 0x00007f2c89fc5727 in KMessageBox::errorListInternal (dialog=0x5631b7642a90, text=..., strlist=..., caption=..., options=options@entry=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:257
#19 0x00007f2c89fc6dfd in KMessageBox::messageBoxInternal (dialog=0x5631b7642a90, type=<optimized out>, text=..., caption=..., buttonYes=..., buttonNo=..., buttonCancel=..., dontShow=..., options=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:160
#20 0x00007f2c89fc6f06 in KMessageBox::messageBox (parent=0xc1eef48bfd248400, type=<optimized out>, text=..., caption=..., buttonYes=..., buttonNo=..., buttonCancel=..., dontShow=..., options=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:120
#21 0x00007f2c8a3d134f in KDialogJobUiDelegatePrivate::next (this=0x5631b76795e0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:257
#22 0x00007f2c8aaee279 in QObject::event (this=0x5631b76795e0, e=0x5631b75e0f90) at kernel/qobject.cpp:1314
#23 0x00007f2c8b64fdc3 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5631b76795e0, e=0x5631b75e0f90) at kernel/qapplication.cpp:3632
#24 0x00007f2c8b658bb8 in QApplication::notify(QObject*, QEvent*) () at kernel/qapplication.cpp:3156
#25 0x00007f2c8aac06da in QCoreApplication::notifyInternal2 (receiver=0x5631b76795e0, event=0x5631b75e0f90) at ../../include/QtCore/5.15.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#26 0x00007f2c8aac2fe1 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5631b7579a80) at kernel/qcoreapplication.cpp:1817
#27 0x00007f2c8ab1b987 in postEventSourceDispatch (s=0x5631b75e5b50) at kernel/qeventdispatcher_glib.cpp:277
#28 0x00007f2c891de17d in g_main_dispatch (context=0x5631b75dec00) at ../../../glib/gmain.c:3309
#29 g_main_context_dispatch (context=context@entry=0x5631b75dec00) at ../../../glib/gmain.c:3974
#30 0x00007f2c891de400 in g_main_context_iterate (context=context@entry=0x5631b75dec00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4047
#31 0x00007f2c891de4a3 in g_main_context_iteration (context=0x5631b75dec00, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#32 0x00007f2c8ab1afe2 in QEventDispatcherGlib::processEvents (this=0x5631b75da550, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#33 0x00007f2c8aabf1eb in QEventLoop::exec (this=this@entry=0x7fff55012140, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#34 0x00007f2c8aac7394 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#35 0x00005631b7492e4b in ClientApp::kde_open (this=0x7fff55012350, url=..., mimeType=..., allowExec=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:116
#36 0x00005631b74933fa in ClientApp::doIt (this=0x7fff55012350, parser=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:117
#37 0x00005631b74920bd in main (argc=<optimized out>, argv=<optimized out>) at ./kioclient/kioclient.cpp:195
Comment 1 Nate Graham 2021-03-31 15:52:35 UTC
*** Bug 434979 has been marked as a duplicate of this bug. ***
Comment 2 Vlad Zahorodnii 2021-03-31 17:50:57 UTC
I have a gut feeling that the compositor (kwin) posts a protocol error. Can you get please WAYLAND_DEBUG output?
Comment 3 Patrick Silva 2021-04-02 11:07:37 UTC
Created attachment 137263 [details]
WAYLAND_DEBUG
Comment 4 Vlad Zahorodnii 2022-01-19 19:50:39 UTC
I don't see anything relevant in the wayland debug log. Anyway, based on

#1  0x00007f2c89c20fcc in KCrash::defaultCrashHandler (sig=11) at ./src/kcrash.cpp:576
#2  <signal handler called>
#3  0x00007f2c7dd16004 in QtWayland::zwp_input_panel_v1::get_input_panel_surface(wl_surface*) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/wayland-shell-integration/libinputpanel-shell.so

it looks like client-side bug. Can you report this crash to maliit developers?
Comment 5 Patrick Silva 2022-01-30 11:06:13 UTC
A Maliit dev said that this is not an issue with Maliit code. What do you think Vlad?

https://github.com/maliit/keyboard/issues/83
Comment 6 Vlad Zahorodnii 2022-02-03 10:54:49 UTC
the crash is in maliit input shell plugin. posted a comment in the github issue