Application: kwrite (19.08.2) Qt Version: 5.12.5 Frameworks Version: 5.62.0 Operating System: Linux 5.3.0-1-amd64 x86_64 Distribution: Debian GNU/Linux bullseye/sid -- Information about the crash: - What I was doing when the application crashed: I use sway-wm and kwrite with wayland backend. I use debian unstable. When I activate uim, write some characters, and then press space multiple times to make it show up the candidate window, focus between the candidate window and kwrite flickers every frame until eventually (2~5 seconds later) it crashes. I reproduced this behavior also when using plasma's wayland session, and with weston too. I reproduced this behavior with konsole too. Not sure if it is a uim problem or a kde problem? Relevant environment variables: QT_IM_MODULE=uim QT_QPA_PLATFORMTHEME=qt5ct QT_QPA_PLATFORM=wayland The crash can be reproduced every time. -- Backtrace: Application: KWrite (kwrite), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f77a4784100 (LWP 16701))] Thread 3 (Thread 0x7f779affc700 (LWP 16705)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0x55c1d1a32ec8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x55c1d1a32e78, cond=0x55c1d1a32ea0) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0x55c1d1a32ea0, mutex=0x55c1d1a32e78) at pthread_cond_wait.c:655 #3 0x00007f779b82330b in cnd_wait (mtx=0x55c1d1a32e78, cond=0x55c1d1a32ea0) at ../include/c11/threads_posix.h:155 #4 util_queue_thread_func (input=input@entry=0x55c1d1d4fe50) at ../src/util/u_queue.c:272 #5 0x00007f779b822f27 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87 #6 0x00007f77a7a39fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486 #7 0x00007f77a91a52cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7f77a2d4b700 (LWP 16702)): #0 0x00007f77a919ad0f in __GI___poll (fds=0x7f779c005260, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f77a722909e in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f77a72291bf in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f77a971680b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007f77a96bf71b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007f77a9500751 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007f77a7fa94e6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #7 0x00007f77a95018d2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007f77a7a39fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486 #9 0x00007f77a91a52cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7f77a4784100 (LWP 16701)): [KCrash Handler] #5 0x00007f77a96c097d in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007f77a437f174 in QUimPlatformInputContext::updatePreedit() () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so #7 0x00007f77a416e3f8 in ?? () from /usr/lib/x86_64-linux-gnu/libuim.so.8 #8 0x00007f77a4144d0c in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #9 0x00007f77a4144f79 in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #10 0x00007f77a414fc36 in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #11 0x00007f77a4144cdb in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #12 0x00007f77a4144f79 in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #13 0x00007f77a41450b1 in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #14 0x00007f77a4145219 in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #15 0x00007f77a4144cdb in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #16 0x00007f77a4144f79 in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #17 0x00007f77a41455a4 in ?? () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #18 0x00007f77a436a2fd in GCROOTS_call_with_gc_ready_stack () from /usr/lib/x86_64-linux-gnu/libgcroots.so.0 #19 0x00007f77a41548c3 in uim_scm_callf () from /usr/lib/x86_64-linux-gnu/libuim-scm.so.0 #20 0x00007f77a416defd in ?? () from /usr/lib/x86_64-linux-gnu/libuim.so.8 #21 0x00007f77a416dff0 in uim_press_key () from /usr/lib/x86_64-linux-gnu/libuim.so.8 #22 0x00007f77a437d7fe in QUimPlatformInputContext::filterEvent(QEvent const*) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so #23 0x00007f77a42bd8bd in ?? () from /usr/lib/x86_64-linux-gnu/libQt5WaylandClient.so.5 #24 0x00007f77a42bdc2b in QtWaylandClient::QWaylandInputDevice::Keyboard::keyboard_key(unsigned int, unsigned int, unsigned int, unsigned int) () from /usr/lib/x86_64-linux-gnu/libQt5WaylandClient.so.5 #25 0x00007f77aaeea8ee in ffi_call_unix64 () at ../src/x86/unix64.S:76 #26 0x00007f77aaeea2bf in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>) at ../src/x86/ffi64.c:525 #27 0x00007f77aaef730d in ?? () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 #28 0x00007f77aaef3ac9 in ?? () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 #29 0x00007f77aaef4fc4 in wl_display_dispatch_queue_pending () from /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 #30 0x00007f77a42be9b2 in QtWaylandClient::QWaylandDisplay::flushRequests() () from /usr/lib/x86_64-linux-gnu/libQt5WaylandClient.so.5 #31 0x00007f77a96eb3c8 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #32 0x00007f77a96f7c61 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #33 0x00007f77a96f7fa1 in QSocketNotifier::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #34 0x00007f77aa0bac32 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #35 0x00007f77aa0c4190 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #36 0x00007f77a96c0a92 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #37 0x00007f77a97173f5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #38 0x00007f77a7228ead in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #39 0x00007f77a7229130 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #40 0x00007f77a72291bf in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #41 0x00007f77a97167f1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #42 0x00007f77a96bf71b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #43 0x00007f77a96c71c2 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #44 0x000055c1d0d4d7eb in main () [Inferior 1 (process 16701) detached] Reported using DrKonqi
Could you add debug symbols for kate, KTextEditor, Qt, and uim and reproduce again? Could you then also run kate with: valgrind kate And oaste the output here?
Here is a complete backtrace, sorry for the incomplete one... $ gdb kate GNU gdb (Debian 8.3.1-1) 8.3.1 Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from kate... Reading symbols from /usr/lib/debug/.build-id/40/0ef647fb83779c28de741677bca09928f540ab.debug... (gdb) r Starting program: /usr/bin/kate [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". QSocketNotifier: Can only be used with threads started with QThread qt5ct: using qt5ct plugin [New Thread 0x7ffff031d700 (LWP 32629)] qt5ct: D-Bus global menu: no Hspell: can't open /usr/share/hspell/hebrew.wgz.sizes. sonnet.plugins.hspell: HSpellDict::HSpellDict: Init failed Using Wayland-EGL [New Thread 0x7fffe7347700 (LWP 32632)] Using the 'xdg-shell' shell integration qt.qpa.wayland: Wayland does not support QWindow::requestActivate() qt5ct: palette support is disabled [Detaching after fork from child process 32641] Thread 1 "kate" received signal SIGSEGV, Segmentation fault. QCoreApplication::notifyInternal2 (receiver=0x0, event=0x7fffffffd430) at kernel/qcoreapplication.cpp:1083 1083 kernel/qcoreapplication.cpp: Aucun fichier ou dossier de ce type. (gdb) thread apply all bt Thread 3 (Thread 0x7fffe7347700 (LWP 32632)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0x55555585c7b8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x55555585c768, cond=0x55555585c790) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0x55555585c790, mutex=0x55555585c768) at pthread_cond_wait.c:655 #3 0x00007fffe782330b in cnd_wait (mtx=0x55555585c768, cond=0x55555585c790) at ../include/c11/threads_posix.h:155 #4 util_queue_thread_func (input=input@entry=0x555556061ea0) at ../src/util/u_queue.c:272 #5 0x00007fffe7822f27 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87 #6 0x00007ffff4863fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486 #7 0x00007ffff5cab2cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7ffff031d700 (LWP 32629)): #0 0x00007ffff5ca0d0f in __GI___poll (fds=0x7fffe8005260, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff3ff309e in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7fffe8005260, timeout=<optimized out>, context=0x7fffe8000bf0) at ../../../glib/gmain.c:4216 #2 g_main_context_iterate (context=context@entry=0x7fffe8000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:3912 #3 0x00007ffff3ff31bf in g_main_context_iteration (context=0x7fffe8000bf0, may_block=may_block@entry=1) at ../../../glib/gmain.c:3978 #4 0x00007ffff621e7f1 in QEventDispatcherGlib::processEvents (this=0x7fffe8000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #5 0x00007ffff61c771b in QEventLoop::exec (this=this@entry=0x7ffff031cd30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #6 0x00007ffff6008751 in QThread::exec (this=this@entry=0x7ffff651cd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #7 0x00007ffff649b4e6 in QDBusConnectionManager::run (this=0x7ffff651cd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178 #8 0x00007ffff60098d2 in QThreadPrivate::start (arg=0x7ffff651cd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361 #9 0x00007ffff4863fb7 in start_thread (arg=<optimized out>) at pthread_create.c:486 #10 0x00007ffff5cab2cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7ffff1843840 (LWP 32584)): #0 QCoreApplication::notifyInternal2 (receiver=0x0, event=0x7fffffffd430) at kernel/qcoreapplication.cpp:1083 #1 0x00007ffff1441174 in QUimPlatformInputContext::updatePreedit() () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so #2 0x00007ffff12303f8 in im_update_preedit (uc_=<optimized out>) at uim-func.c:130 #3 0x00007ffff1206d0c in call (proc=<optimized out>, args=30, eval_state=0x7fffffffd560, need_eval=SCM_VALTYPE_NEED_EVAL) at ../sigscheme/src/eval.c:415 #4 0x00007ffff1206f79 in scm_eval (obj=<optimized out>, env=<optimized out>, env@entry=93825007257264) at ../sigscheme/src/eval.c:499 #5 0x00007ffff1211c36 in scm_s_letstar (bindings=30, body=140737237855536, eval_state=0x7fffffffd6a0) at ../sigscheme/src/syntax.c:611 #6 0x00007ffff1206cdb in call (proc=<optimized out>, args=140737237855536, eval_state=0x7fffffffd6a0, need_eval=SCM_VALTYPE_AS_IS) at ../sigscheme/src/eval.c:420 #7 0x00007ffff1206f79 in scm_eval (obj=<optimized out>, env=<optimized out>, env@entry=93825007260032) at ../sigscheme/src/eval.c:499 #8 0x00007ffff12070b1 in scm_s_begin (args=140737237856912, args@entry=140737237856032, eval_state=eval_state@entry=0x7fffffffd810) at ../sigscheme/src/syntax.c:830 #9 0x00007ffff1207219 in scm_s_body (body=140737237856032, eval_state=0x7fffffffd810) at ../sigscheme/src/syntax.c:799 #10 0x00007ffff1206cdb in call (proc=<optimized out>, args=140737237856032, eval_state=0x7fffffffd810, need_eval=SCM_VALTYPE_AS_IS) at ../sigscheme/src/eval.c:420 #11 0x00007ffff1206f79 in scm_eval (obj=<optimized out>, env=<optimized out>) at ../sigscheme/src/eval.c:499 #12 0x00007ffff12075a4 in scm_call (proc=<optimized out>, args=<optimized out>) at ../sigscheme/src/eval.c:94 #13 0x00007ffff142c2fd in GCROOTS_call_with_gc_ready_stack (ctx=0x555555654370, proc=proc@entry=0x7ffff12163c0 <uim_scm_callf_internal>, arg=arg@entry=0x7fffffffd8b8) at gcroots.c:114 #14 0x00007ffff12159f2 in scm_call_with_gc_ready_stack (arg=0x7fffffffd8b8, func=func@entry=0x7ffff12163c0 <uim_scm_callf_internal>) at ../sigscheme/src/storage-gc.c:376 #15 uim_scm_call_with_gc_ready_stack (func=func@entry=0x7ffff12163c0 <uim_scm_callf_internal>, arg=arg@entry=0x7fffffffd8c0) at uim-scm-sigscheme.c:458 #16 0x00007ffff12168c3 in uim_scm_callf (proc=proc@entry=0x7ffff1235352 "key-press-handler", args_fmt=args_fmt@entry=0x7ffff1235378 "poi") at uim-scm-sigscheme.c:1010 #17 0x00007ffff122fefd in filter_key (uc=uc@entry=0x555555654390, key=key@entry=32, state=state@entry=0, is_press=is_press@entry=1) at uim-key.c:368 #18 0x00007ffff122fff0 in filter_key (is_press=1, state=0, key=32, uc=0x555555654390) at uim-key.c:352 #19 uim_press_key (uc=0x555555654390, key=32, state=0) at uim-key.c:395 #20 0x00007ffff143f7fe in QUimPlatformInputContext::filterEvent(QEvent const*) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so #21 0x00007ffff137f8bd in QtWaylandClient::sendKey (tlw=0x555556045250, timestamp=timestamp@entry=7527518, type=type@entry=QEvent::KeyPress, key=key@entry=32, modifiers=..., nativeScanCode=nativeScanCode@entry=65, nativeVirtualKey=32, nativeModifiers=0, text=..., autorep=false, count=1) at qwaylandinputdevice.cpp:715 #22 0x00007ffff137fc2b in QtWaylandClient::QWaylandInputDevice::Keyboard::keyboard_key (this=0x555555651d30, serial=<optimized out>, time=7527518, key=57, state=1) at qwaylandinputdevice.cpp:779 #23 0x00007ffff7fad8ee in ffi_call_unix64 () at ../src/x86/unix64.S:76 #24 0x00007ffff7fad2bf in ffi_call (cif=cif@entry=0x7fffffffdd20, fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7fffffffddf0) at ../src/x86/ffi64.c:525 #25 0x00007ffff7fba30d in wl_closure_invoke (closure=closure@entry=0x555555c68610, flags=flags@entry=1, target=<optimized out>, target@entry=0x5555556545b0, opcode=opcode@entry=3, data=<optimized out>) at ../src/connection.c:1014 #26 0x00007ffff7fb6ac9 in dispatch_event (display=display@entry=0x5555556492d0, queue=<optimized out>) at ../src/wayland-client.c:1430 #27 0x00007ffff7fb7fc4 in dispatch_queue (queue=0x555555649398, display=0x5555556492d0) at ../src/wayland-client.c:1576 #28 wl_display_dispatch_queue_pending (display=0x5555556492d0, queue=0x555555649398) at ../src/wayland-client.c:1818 #29 0x00007ffff7fb801c in wl_display_dispatch_pending (display=<optimized out>) at ../src/wayland-client.c:1881 #30 0x00007ffff13809b2 in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x5555556437e0) at qwaylanddisplay.cpp:187 #31 0x00007ffff61f33c8 in QMetaObject::activate (sender=0x555555685870, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3803 #32 0x00007ffff621e82f in QEventDispatcherGlib::processEvents (this=0x555555685870, flags=...) at kernel/qeventdispatcher_glib.cpp:429 #33 0x00007ffff61c771b in QEventLoop::exec (this=this@entry=0x7fffffffe160, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #34 0x00007ffff61cf1c2 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #35 0x0000555555585247 in main (argc=<optimized out>, argv=<optimized out>) at ./kate/main.cpp:644
Created attachment 123782 [details] valgrind kate And here is the valgrind log.
The problem is either in uim, or in the uim platform input plugin for Qt.
Can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I'm setting status to "needsinfo" pending your response, please change back to "reported" or "resolved" when you respond, thanks.
Created attachment 133357 [details] attachment-15042-0.html The bug still occurs. libqt5.* liraries are version 5.15.1+dfsg-2 libkf5.* are 5.74.0-2+b1 uim.* are 1.8.8-6.1 -- David
Forgot to change the Status.
Is this still reproducible? Wayland support has matured a lot and 2 years have passed so maybe this is no longer a crash.
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!