fcitx/fcitx5-qt

fcitx5 is causing telegram to freeze

cjc7373 opened this issue · 7 comments

Describe the bug
I've done a quick search in fcitx5 and qt's issue tracker and didn't find anything. I wonder if I should report here or qt's side.

To Reproduce
Steps to reproduce the behavior:

  1. open telegram
  2. type anything
  3. the telegram window freezes

Desktop (please complete the following information):

  • Desktop: KDE 5.27.8, qt 6.6.0
  • Display server type: Wayland

Additional context

backtrace of telegram
(gdb) bt
#0  0x00007f96ad920f6f in __GI___poll (fds=fds@entry=0x7ffc5e143ef0, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
fcitx/fcitx5#1  0x00007f96b3138b5e in poll (__timeout=-1, __nfds=1, __fds=0x7ffc5e143ef0) at /usr/include/bits/poll2.h:39
fcitx/fcitx5#2  wl_display_poll (display=0x7f969d713000, events=1) at ../wayland-1.22.0/src/wayland-client.c:1914
fcitx/fcitx5#3  wl_display_dispatch_queue (queue=<optimized out>, display=<optimized out>) at ../wayland-1.22.0/src/wayland-client.c:1987
fcitx/fcitx5#4  wl_display_dispatch_queue (display=0x7f969d713000, queue=0x7f969d7130f0) at ../wayland-1.22.0/src/wayland-client.c:1960
fcitx/fcitx5#5  0x00007f969db9df05 in QtWaylandClient::QWaylandDisplay::blockingReadEvents() (this=0x7f969d6cac80)
    at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.6.0/src/client/qwaylanddisplay.cpp:565
fcitx/fcitx5#6  QtWaylandClient::QWaylandShmBackingStore::resize(QSize const&) (this=this@entry=0x7f969b6106e0, size=...)
    at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.6.0/src/client/qwaylandshmbackingstore.cpp:280
fcitx/fcitx5#7  0x00007f969dba0cf8 in QtWaylandClient::QWaylandShmBackingStore::ensureSize() (this=0x7f969b6106e0)
    at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.6.0/src/client/qwaylandshmbackingstore.cpp:197
fcitx/fcitx5#8  QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) (this=0x7f969b6106e0, region=...)
    at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.6.0/src/client/qwaylandshmbackingstore.cpp:172
fcitx/fcitx5#9  0x00007f96af2273b6 in QBackingStore::beginPaint(QRegion const&) (this=0x7f9654f34d30, region=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/gui/painting/qbackingstore.cpp:125
fcitx/fcitx5#10 0x00007f969dae76f4 in fcitx::FcitxCandidateWindow::renderNow() (this=this@entry=0x7f9613220580)
    at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/platforminputcontext/fcitxcandidatewindow.cpp:140
fcitx/fcitx5#11 0x00007f969daeab84 in fcitx::FcitxCandidateWindow::updateClientSideUI(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)
    (this=<optimized out>, preedit=<optimized out>, cursorpos=<optimized out>, auxUp=<optimized out>, auxDown=<optimized out>, candidates=<optimized out>, candidateIndex=0, layoutHint=0, hasPrev=false, hasNext=true) at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/platforminputcontext/fcitxcandidatewindow.cpp:512
fcitx/fcitx5#12 0x00007f969dae4d5c in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4, 5, 6, 7, 8>, QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void, void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call(void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::QFcitxPlatformInputContext*, void**)
    (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:142
fcitx/fcitx5#13 QtPrivate::FunctionPointer<void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call<QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void>(void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::QFcitxPlatformInputContext*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182
fcitx/fcitx5#14 QtPrivate::QCallableObject<void (fcitx::QFcitxPlatformInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520
fcitx/fcitx5#15 0x00007f96ae5b9a59 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffc5e144520, r=0x7f969d757a00, this=0x7f968fff7000, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobjectdefs_impl.h:433
fcitx/fcitx5#16 doActivate<false>(QObject*, int, void**) (sender=0x7f9632e32de0, signal_index=8, argv=0x7ffc5e144520)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:4021
fcitx/fcitx5#17 0x00007f969dad2e3e in fcitx::HybridInputContext::updateClientSideUI(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)
    (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>, _t4=<optimized out>, _t5=<optimized out>, _t6=<optimized out>, _t7=<optimized out>, _t8=<optimized out>, _t9=<optimized out>)
    at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/platforminputcontext/fcitx5platforminputcontextplugin-qt6_autogen/PS6VK7TWHL/moc_hybridinputcontext.cpp:469
fcitx/fcitx5#18 0x00007f969dadb38c in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4, 5, 6, 7, 8>, QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void, void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call(void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::HybridInputContext*, void**)
--Type <RET> for more, q to quit, c to continue without paging--c
    (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:142
fcitx/fcitx5#19 QtPrivate::FunctionPointer<void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call<QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void>(void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::HybridInputContext*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182
fcitx/fcitx5-chewing#1 QtPrivate::QCallableObject<void (fcitx::HybridInputContext::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520
fcitx/fcitx5#21 0x00007f96ae5b9a59 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffc5e1446b0, r=0x7f9632e32de0, this=0x7f96928622c0, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobjectdefs_impl.h:433
fcitx/fcitx5#22 doActivate<false>(QObject*, int, void**) (sender=0x7f9692862120, signal_index=8, argv=0x7ffc5e1446b0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:4021
fcitx/fcitx5#23 0x00007f969da3753e in fcitx::FcitxQtInputContextProxy::updateClientSideUI(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)
    (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>, _t4=<optimized out>, _t5=<optimized out>, _t6=<optimized out>, _t7=<optimized out>, _t8=<optimized out>, _t9=<optimized out>) at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/dbusaddons/Fcitx5Qt6DBusAddons_autogen/EWIEGA46WW/moc_fcitxqtinputcontextproxy.cpp:721
fcitx/fcitx5#24 0x00007f969da56dac in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2, 3, 4, 5, 6, 7, 8>, QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit>, int, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtStringKeyValue>, int, int, bool, bool>, void, void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call(void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::FcitxQtInputContextProxy*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>)
    at /usr/include/qt6/QtCore/qobjectdefs_impl.h:142
fcitx/fcitx5#25 QtPrivate::FunctionPointer<void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool)>::call<QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit>, int, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtStringKeyValue>, int, int, bool, bool>, void>(void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), fcitx::FcitxQtInputContextProxy*, void**) (arg=<optimized out>, o=<optimized out>, f=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:182
fcitx/fcitx5#26 QtPrivate::QCallableObject<void (fcitx::FcitxQtInputContextProxy::*)(QList<fcitx::FcitxQtFormattedPreedit> const&, int, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtFormattedPreedit> const&, QList<fcitx::FcitxQtStringKeyValue> const&, int, int, bool, bool), QtPrivate::List<QList<fcitx::FcitxQtFormattedPreedit>, int, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtStringKeyValue>, int, int, bool, bool>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*)
    (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:520
fcitx/fcitx5#27 0x00007f96ae5b9a59 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7ffc5e144840, r=0x7f9692862120, this=0x7f968ff8afc0, this=<optimized out>, r=<optimized out>, a=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobjectdefs_impl.h:433
fcitx/fcitx5#28 doActivate<false>(QObject*, int, void**) (sender=0x7f969238aa00, signal_index=8, argv=0x7ffc5e144840)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:4021
fcitx/fcitx5#29 0x00007f969da378fe in fcitx::FcitxQtInputContextProxyImpl::UpdateClientSideUI(QList<fcitx::FcitxQtFormattedPreedit>, int, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtFormattedPreedit>, QList<fcitx::FcitxQtStringKeyValue>, int, int, bool, bool)
    (this=this@entry=0x7f969238aa00, _t1=..., _t2=<optimized out>, _t3=..., _t4=..., _t5=..., _t6=<optimized out>, _t7=<optimized out>, _t8=<optimized out>, _t9=<optimized out>)
    at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/dbusaddons/Fcitx5Qt6DBusAddons_autogen/EWIEGA46WW/moc_fcitxqtinputcontextproxyimpl.cpp:679
fcitx/fcitx5#30 0x00007f969da3d523 in fcitx::FcitxQtInputContextProxyImpl::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
    (_o=0x7f969238aa00, _c=<optimized out>, _id=<optimized out>, _a=0x7ffc5e144b68) at /usr/include/qt6/QtCore/qarraydata.h:52
fcitx/fcitx5#31 0x00007f969da3f7c3 in fcitx::FcitxQtInputContextProxyImpl::qt_metacall(QMetaObject::Call, int, void**)
    (this=0x7f969238aa00, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7ffc5e144b68)
    at /usr/src/debug/fcitx5-qt/fcitx5-qt-5.1.1/qt6/dbusaddons/Fcitx5Qt6DBusAddons_autogen/EWIEGA46WW/moc_fcitxqtinputcontextproxyimpl.cpp:631
fcitx/fcitx5#32 0x00007f96b2727e4e in QDBusConnectionPrivate::deliverCall(QObject*, int, QDBusMessage const&, QList<QMetaType> const&, int)
    (this=0x7f969b61a540, object=0x7f969238aa00, msg=..., metaTypes=<optimized out>, slotIdx=11) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/dbus/qdbusintegrator.cpp:967
fcitx/fcitx5#33 0x00007f96ae5a5077 in QObject::event(QEvent*) (this=0x7f969238aa00, e=0x7f969b6b95c0) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qobject.cpp:1437
fcitx/fcitx5#34 0x00007f96b037318b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x7f969d63b000, receiver=receiver@entry=0x7f969238aa00, e=e@entry=0x7f969b6b95c0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/widgets/kernel/qapplication.cpp:3290
fcitx/fcitx5#35 0x00007f96b0374ec9 in QApplication::notify(QObject*, QEvent*) (this=this@entry=0x7ffc5e145490, receiver=receiver@entry=0x7f969238aa00, e=e@entry=0x7f969b6b95c0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/widgets/kernel/qapplication.cpp:3052
fcitx/fcitx5#36 0x000055ee9e386e1f in Core::Sandbox::notifyOrInvoke(QObject*, QEvent*) (e=0x7f969b6b95c0, receiver=0x7f969238aa00, this=0x7ffc5e145490)
    at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/sandbox.cpp:599
fcitx/fcitx5#37 Core::Sandbox::notify(QObject*, QEvent*) (this=0x7ffc5e145490, receiver=0x7f969238aa00, e=0x7f969b6b95c0)
    at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/sandbox.cpp:615
fcitx/fcitx5#38 0x00007f96ae5626d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7f969238aa00, event=event@entry=0x7f969b6b95c0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1118
fcitx/fcitx5#39 0x00007f96ae562a5b in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7f969b6b95c0, receiver=<optimized out>)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1536
fcitx/fcitx5#40 QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x7f969d680b60)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1898
fcitx/fcitx5#41 0x00007f96ae799d24 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=0)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qcoreapplication.cpp:1757
fcitx/fcitx5#42 postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x7f969d73ef40) at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventdispatcher_glib.cpp:243
fcitx/fcitx5#43 0x00007f96b010df19 in g_main_dispatch (context=0x7f969b601180) at ../glib/glib/gmain.c:3476
fcitx/fcitx5#44 0x00007f96b016c2b7 in g_main_context_dispatch_unlocked (context=0x7f969b601180) at ../glib/glib/gmain.c:4284
fcitx/fcitx5#45 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f969b601180, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4349
fcitx/fcitx5#46 0x00007f96b010c112 in g_main_context_iteration (context=0x7f969b601180, may_block=1) at ../glib/glib/gmain.c:4414
fcitx/fcitx5#47 0x00007f96ae797934 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f969d726460, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventdispatcher_glib.cpp:393
fcitx/fcitx5#48 0x00007f96ae56cc5e in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=..., this=0x7ffc5e145210)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventloop.cpp:100
fcitx/fcitx5#49 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffc5e145210, flags=...)
    at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/kernel/qeventloop.cpp:182
fcitx/fcitx5#50 0x00007f96ae565178 in QCoreApplication::exec() () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/corelib/global/qflags.h:74
fcitx/fcitx5#51 0x00007f96b036fd1a in QApplication::exec() () at /usr/src/debug/qt6-base/qtbase-everywhere-src-6.6.0/src/widgets/kernel/qapplication.cpp:2569
fcitx/fcitx5#52 0x000055ee9e39f382 in Core::Sandbox::start() (this=0x7ffc5e145490) at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/sandbox.cpp:181
fcitx/fcitx5#53 Core::Launcher::executeApplication() (this=this@entry=0x7f969d680de0) at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/launcher.cpp:578
fcitx/fcitx5#54 0x000055ee9e3a03c4 in Core::Launcher::exec() (this=0x7f969d680de0) at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/core/launcher.cpp:388
fcitx/fcitx5#55 0x000055ee9d5d3568 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/telegram-desktop/tdesktop-4.10.3-full/Telegram/SourceFiles/main.cpp:12
wengxt commented

can't reproduce, what's the distro you are using?

Also as a way that will not trigger this code path:
unset QT_IM_MODULE, select fcitx5 in the system settings -> virtual keyboard
https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma

it will use wayland input method protocol instead

can't reproduce, what's the distro you are using?

for reference, here's fcitx5-diagnose's output

# System Info:
1.  `uname -a`:

        Linux hostname 6.5.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 19 Oct 2023 22:52:14 +0000 x86_64 GNU/Linux

2.  `lsb_release -a`:

        LSB Version:    n/a
        Distributor ID: Arch
        Description:    Arch Linux
        Release:        rolling
        Codename:       n/a

3.  `lsb_release -d`:

        Description:    Arch Linux

4.  `/etc/lsb-release`:

        DISTRIB_ID="Arch"
        DISTRIB_RELEASE="rolling"
        DISTRIB_DESCRIPTION="Arch Linux"

5.  `/etc/os-release`:

        NAME="Arch Linux"
        PRETTY_NAME="Arch Linux"
        ID=arch
        BUILD_ID=rolling
        ANSI_COLOR="38;2;23;147;209"
        HOME_URL="https://archlinux.org/"
        DOCUMENTATION_URL="https://wiki.archlinux.org/"
        SUPPORT_URL="https://bbs.archlinux.org/"
        BUG_REPORT_URL="https://bugs.archlinux.org/"
        PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
        LOGO=archlinux-logo

6.  Desktop Environment:

    Desktop environment is `kde`.

7.  XDG SESSION TYPE:

        XDG_SESSION_TYPE='wayland'

8.  Bash Version:

        BASH_VERSION='5.1.16(1)-release'

# Environment:
1.  DISPLAY:

        DISPLAY=':1'


        WAYLAND_DISPLAY='wayland-0'

2.  Keyboard Layout:

    1.  `setxkbmap`:

            WARNING: Running setxkbmap against an Xwayland server
            xkb_keymap {
                xkb_keycodes  { include "evdev+aliases(qwerty)" };
                xkb_types     { include "complete"      };
                xkb_compat    { include "complete"      };
                xkb_symbols   { include "pc+us+inet(evdev)"     };
                xkb_geometry  { include "pc(pc105)"     };
            };

    2.  `xprop`:

            _XKB_RULES_NAMES(STRING) = "evdev", "pc105", "us", "", ""

3.  Locale:

    1.  All locales:

            C
            C.utf8
            en_US.utf8
            POSIX
            zh_CN.utf8

    2.  Current locale:

            LANG=en_US.UTF-8
            LC_CTYPE="en_US.UTF-8"
            LC_NUMERIC="en_US.UTF-8"
            LC_TIME="en_US.UTF-8"
            LC_COLLATE="en_US.UTF-8"
            LC_MONETARY="en_US.UTF-8"
            LC_MESSAGES="en_US.UTF-8"
            LC_PAPER="en_US.UTF-8"
            LC_NAME="en_US.UTF-8"
            LC_ADDRESS="en_US.UTF-8"
            LC_TELEPHONE="en_US.UTF-8"
            LC_MEASUREMENT="en_US.UTF-8"
            LC_IDENTIFICATION="en_US.UTF-8"
            LC_ALL=

4.  Directories:

    1.  Home:

            /home/someuser

    2.  `${XDG_CONFIG_HOME}`:

        Environment variable `XDG_CONFIG_HOME` is not set.

        Current value of `XDG_CONFIG_HOME` is `~/.config` (`/home/someuser/.config`).

    3.  Fcitx5 Settings Directory:

        Current fcitx5 settings directory is `~/.config/fcitx5` (`/home/someuser/.config/fcitx5`).

5.  Current user:

    The script is run as someuser (1000).

# Fcitx State:
1.  executable:

    Found fcitx5 at `/usr/bin/fcitx5`.

2.  version:

    Fcitx version: `5.1.1`

3.  process:

    Found 1 fcitx5 process:

           1755 fcitx5

4.  `fcitx5-remote`:

    `fcitx5-remote` works properly.

5.  DBus interface:

    Using `dbus-send` to check dbus.

    Owner of DBus name `org.fcitx.Fcitx5` is `:1.58`.

    PID of DBus name `org.fcitx.Fcitx5` owner is `1755`.

    Debug information from dbus:

           Group [x11::1] has 10 InputContext(s)
          IC [7c8030e63d9f4cef895089570e78a937] program:code frontend:dbus cap:6000000032 focus:0
          IC [edae88ac17d14683a4584a479ca491eb] program:code frontend:dbus cap:6000000032 focus:0
          IC [6c3981d1d1b1405784f713ab1e96afbe] program:code frontend:dbus cap:6000000032 focus:0
          IC [99ca3b54c49e4c90aba206a16ad5dbb4] program:chromium frontend:dbus cap:6000000032 focus:0
          IC [f8a3f8b063ca4d7f9f61c2caf437129f] program:code frontend:dbus cap:6000000032 focus:0
          IC [3f2381d977944d92b31386ee718f5fea] program:chromium frontend:dbus cap:6000000032 focus:0
          IC [27bd683e00644affb678018247ae02f7] program:electron frontend:dbus cap:6000000032 focus:0
          IC [3358f6aea2604660a846b7b429aa42d2] program:spotify frontend:dbus cap:6000000032 focus:0
          IC [51e258335b8045f899e97f0cc2690f9f] program:code frontend:dbus cap:6000000032 focus:0
          IC [e5f0e721eaa045d897ec661570e75200] program:goldendict frontend:dbus cap:6000800072 focus:0
        Group [wayland:] has 12 InputContext(s)
          IC [004c0af5ec3449d18fce676781f6c9d6] program:telegram-desktop frontend:dbus cap:e001800072 focus:0
          IC [83bb064746614a0b8c441f8a1feb1e88] program:fsearch frontend:dbus cap:e001000072 focus:0
          IC [416157aa7d4449f7b9844d761eca48fc] program:plasmashell frontend:dbus cap:1e001800072 focus:0
          IC [eac81c23a6fb4c908868e4ac3877032d] program:keepassxc frontend:dbus cap:e001800072 focus:0
          IC [79f27131e21a4de8901954ca23b1ac64] program:krunner frontend:dbus cap:e001820072 focus:0
          IC [876919bd8e0644c3bab1dc1e4ec0671d] program:konsole frontend:dbus cap:e001820872 focus:1
          IC [be046a46d6484b77bf48da4e12da57bd] program:dolphin frontend:dbus cap:1e001800072 focus:0
          IC [75afcbb9de01442b8f09b60ff148710c] program:plasmashell frontend:dbus cap:1e001800072 focus:0
          IC [17ffebaad9134067b54f83e03741d42b] program:kate frontend:dbus cap:e001800072 focus:0
          IC [5c0a58b0cfa44790afe78e77a86040c7] program:systemsettings frontend:dbus cap:1e001800072 focus:0
          IC [39d9c57e1981410fb8bac7022da1ce37] program:qbittorrent frontend:dbus cap:1e001800072 focus:0
          IC [130f3063ef454204895be5b1975ae1ca] program:dolphin frontend:dbus cap:1e001800072 focus:0
        Input Context without group

# Fcitx Configure UI:
1.  Config Tool Wrapper:

    Found fcitx5-configtool at `/usr/bin/fcitx5-configtool`.

2.  Config GUI for qt:

    Found `fcitx5-config-qt` at `/usr/bin/fcitx5-config-qt`.

3.  Config GUI for kde:

    Found fcitx5 kcm module.

        kcm_fcitx5                     - Configure Input Method

# Frontends setup:
The environment variable checked by this script only shows the environment under current shell. It is still possible that you did not set the environment to the whole graphic desktop session. You may inspect the actual environment variable of a certain process by using `xargs -0 -L1 /proc/$PID/environ` for a certain process that you find not working.

## Xim:
1.  `${XMODIFIERS}`:

    Environment variable XMODIFIERS is set to "@im=fcitx" correctly.
    Xim Server Name from Environment variable is fcitx.

2.  XIM_SERVERS on root window:

    Xim server name is the same with that set in the environment variable.

## Qt:
1.  qt4 - `${QT4_IM_MODULE}`:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    **`fcitx5-qt4-immodule-probing` not found.**

2.  qt5 - `${QT_IM_MODULE}`:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    Using fcitx5-qt5-immodule-probing to check the actual im module to be used under current environment:

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULE=fcitx
        IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext

3.  qt6 - `${QT_IM_MODULE}`:

    Environment variable QT_IM_MODULE is set to "fcitx" correctly.

    Using fcitx5-qt6-immodule-probing to check the actual im module to be used under current environment:

        QT_QPA_PLATFORM=wayland
        QT_IM_MODULE=fcitx
        IM_MODULE_CLASSNAME=fcitx::QFcitxPlatformInputContext

4.  Qt IM module files:

    Found fcitx5 im module for qt: `/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
    Found unknown fcitx qt module: `/usr/lib/qt/plugins/kcms/kcm_fcitx5.so`.
    Found fcitx5 qt5 module: `/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so`.
    Found fcitx5 im module for qt6: `/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
    Found unknown fcitx qt module: `/usr/lib/office6/qt/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so`.

    Following error may not be accurate because guessing Qt version from path depends on how your distribution packages Qt. It is not a critical error if you do not use any Qt application with certain version of Qt or you are using text-input support by Qt under Wayland.
    **Cannot find fcitx5 input method module for Qt4.**

## Gtk:
1.  gtk - `${GTK_IM_MODULE}`:

    Environment variable GTK_IM_MODULE is set to "fcitx" correctly.

    Using fcitx5-gtk2-immodule-probing to check the actual im module to be used under current environment:

        GTK_IM_MODULE=fcitx

    Using fcitx5-gtk3-immodule-probing to check the actual im module to be used under current environment:

        GTK_IM_MODULE=fcitx

    Using fcitx5-gtk4-immodule-probing to check the actual im module to be used under current environment:

        GTK_IM_MODULE=fcitx

2.  `gtk-query-immodules`:

    1.  gtk 2:

        Found `gtk-query-immodules` for gtk `2.24.33` at `/usr/bin/gtk-query-immodules-2.0`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33

        Found fcitx5 im modules for gtk `2.24.33`.

            "/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

    2.  gtk 3:

        Found `gtk-query-immodules` for gtk `3.24.38` at `/usr/bin/gtk-query-immodules-3.0`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.38

        Found fcitx5 im modules for gtk `3.24.38`.

            "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

        Found `gtk-query-immodules` for gtk `3.24.38` at `/usr/bin/gtk-query-immodules-3.0-32`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0-32 from gtk+-3.24.38

        **Failed to find fcitx5 in the output of `/usr/bin/gtk-query-immodules-3.0-32`**

3.  Gtk IM module cache:

    1.  gtk 2:

        Found immodules cache for gtk `2.24.33` at `/usr/lib/gtk-2.0/2.10.0/immodules.cache`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-2.0 from gtk+-2.24.33

        Found fcitx5 im modules for gtk `2.24.33`.

            "/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

    2.  gtk 3:

        Found immodules cache for gtk `3.24.38` at `/usr/lib/gtk-3.0/3.0.0/immodules.cache`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.38

        Found fcitx5 im modules for gtk `3.24.38`.

            "/usr/lib/gtk-3.0/3.0.0/immodules/im-fcitx5.so" 
            "fcitx" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 
            "fcitx5" "Fcitx5 (Flexible Input Method Framework5)" "fcitx5" "/usr/locale" "ja:ko:zh:*" 

        Found immodules cache for gtk `3.24.38` at `/usr/lib32/gtk-3.0/3.0.0/immodules.cache`.
        Version Line:

            # Created by /usr/bin/gtk-query-immodules-3.0-32 from gtk+-3.24.38

        **Failed to find fcitx5 in immodule cache at `/usr/lib32/gtk-3.0/3.0.0/immodules.cache`**

4.  Gtk IM module files:

    1.  gtk 2:

        All found Gtk 2 immodule files exist.

    2.  gtk 3:

        All found Gtk 3 immodule files exist.

    3.  gtk 4:

        All found Gtk 4 immodule files exist.

# Configuration:
## Fcitx Addons:
1.  Addon Config Dir:

    Found fcitx5 addon config directory: `/usr/share/fcitx5/addon`.

2.  Addon List:

    1.  Found 26 enabled addons:

            Classic User Interface 5.1.1
            Clipboard 5.1.1
            Cloud Pinyin 5.1.1
            DBus 5.1.1
            DBus Frontend 5.1.1
            Emoji 5.1.1
            Fcitx4 Frontend 5.1.1
            Full width character 5.1.1
            IBus Frontend 5.1.1
            Input method selector 5.1.1
            Keyboard 5.1.1
            KDE Input Method Panel 5.1.1
            Status Notifier 5.1.1
            Notification 5.1.1
            Pinyin 5.1.1
            Extra Pinyin functionality 5.1.1
            Punctuation 5.1.1
            Quick Phrase 5.1.1
            Spell 5.1.1
            Table 5.1.1
            Unicode 5.1.1
            DBus Virtual Keyboard 5.1.1
            Wayland 5.1.1
            Wayland Input method frontend 5.1.1
            XCB 5.1.1
            X Input Method Frontend 5.1.1

    2.  Found 1 disabled addons:

            Simplified and Traditional Chinese Translation 5.1.1

3.  Addon Libraries:

    All libraries for all addons are found.

4.  User Interface:

    Found 3 enabled user interface addons:

        Classic User Interface
        KDE Input Method Panel
        DBus Virtual Keyboard

## Input Methods:
1.  `/home/someuser/.config/fcitx5/profile`:

        [Groups/0]
        # Group Name
        Name=Default
        # Layout
        Default Layout=us
        # Default Input Method
        DefaultIM=shuangpin

        [Groups/0/Items/0]
        # Name
        Name=keyboard-us
        # Layout
        Layout=

        [Groups/0/Items/1]
        # Name
        Name=shuangpin
        # Layout
        Layout=

        [GroupOrder]
        0=Default

# Log:
1.  `date`:

        Mon Oct 23 11:52:27 AM CST 2023

2.  `/home/someuser/.config/fcitx5/crash.log`:

    `/home/someuser/.config/fcitx5/crash.log` not found.

Also as a way that will not trigger this code path: unset QT_IM_MODULE, select fcitx5 in the system settings -> virtual keyboard https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma

This helps, thanks!

wengxt commented

where do you typed that triggers the freeze?

(You can try to reproduce with QT_IM_MODULE=fcitx telegram-desktop )

In the chat, the search bar, the edit contact modal, basically anywhere..

The faster I typed, the more possibility freeze will happen. Randomly type about 20 characters would 100% reproduce the bug for me.

wengxt commented

I still I can't reproduce it here, is your system fast or slow? do you have an extremely fast key repetition rate?

wengxt commented

Also did you see "QWaylandShmBackingStore: stalling waiting for a buffer to be released from the compositor..." in the console?

is your system fast or slow? do you have an extremely fast key repetition rate?

The issue happens after I upgraded qt to 6.6, so I'm pretty sure there's nothing to do with my hardware.

did you see "QWaylandShmBackingStore: stalling waiting for a buffer to be released from the compositor..." in the console?

No.

Anyway, since there is a workaround and it seems unset QT_IM_MODULE is the recommended way under wayland, I think maybe this issue can be closed.