Bug 514891

Summary: maliit-keyboard crashes frequently, and re enables itself when turned off
Product: [Plasma] kwin Reporter: johnparmitage
Component: inputAssignee: KWin default assignee <kwin-bugs-null>
Status: REPORTED ---    
Severity: crash CC: duha.bugs, kdedev
Priority: NOR    
Version First Reported In: 6.5.5   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: maliit-keyboard-backtrace.txt

Description johnparmitage 2026-01-21 07:57:49 UTC
Created attachment 188743 [details]
maliit-keyboard-backtrace.txt

SUMMARY
I don't use a virtual keyboard, and have never opened it.  Multiple crashes of maliit-keyboard a day are recorded.  I set the virtual keyboard to none, but it sets itself back to maliit.

STEPS TO REPRODUCE
1. Open crashed process viewer
2. See that maliit keyboard has crashed multiple times a day
3. Set virtual keyboard to none in system settings
Crashes continue to be observed in crashed process viewer, and maliit-keyboard is selected again in system settings.

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 43
KDE Plasma Version: 6.5.5
KDE Frameworks Version: 6.22.0
Qt Version: 6.10.1
Kernel Version: 6.18.5-200.fc43.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 8 × 12th Gen Intel® Core™ i3-12100
Memory: 8 GiB of RAM (7.5 GiB usable)
Graphics Processor: Intel® UHD Graphics 730
Comment 1 TraceyC 2026-01-21 17:33:38 UTC
Searchable backtrace

0  _mm_loadu_si128(long long __vector(2) const*) (__P=<optimized out>) at /usr/lib/gcc/x86_64-redhat-linux/15/include/emmintrin.h:1462
No locals.
#1  simdDecodeAscii (dst=<optimized out>, nextAscii=<optimized out>, src=<optimized out>, end=<optimized out>) at codecs/qutfcodec.cpp:139
        data = <error reading variable data (Cannot access memory at address 0x564f9a28c000)>
        BitSpacing = 1
        n = <optimized out>
#2  QUtf8::convertToUnicode (buffer=buffer@entry=0x7f261863f028, chars=chars@entry=0x564f99bc5248 "", len=len@entry=7209071) at codecs/qutfcodec.cpp:528
        dst = 0x7f26193ad300
        src = 0x564f9a28bffa ""
        end = 0x564f9a2a52b7 <error: Cannot access memory at address 0x564f9a2a52b7>
        nextAscii = <optimized out>
#3  0x00007f26708a9a38 in QUtf8::convertToUnicode (chars=0x564f99bc5248 "", len=7209071) at codecs/qutfcodec.cpp:487
        result = {d = 0x7f261863f010}
        data = 0x7f261863f028
        end = <optimized out>
#4  0x00007f2670711aa9 in QString::fromUtf8_helper (str=<optimized out>, size=<optimized out>) at text/qstring.cpp:5598
No locals.
#5  0x00007f267212e6d6 in QString::fromUtf8 (str=<optimized out>, size=7209071) at /usr/include/qt5/QtCore/qstring.h:703
No locals.
#6  Maliit::Wayland::InputMethodContext::zwp_input_method_context_v1_surrounding_text (this=0x564f99cd7650, text=..., cursor=6881396, anchor=7209071) at /usr/src/debug/maliit-framework-2.3.0-10.fc43.x86_64/connection/waylandinputmethodconnection.cpp:601
        utf8_text = @0x7ffea8579bf8: {d = 0x564f99bc5230}
        __PRETTY_FUNCTION__ = <optimized out>
#7  0x00007f267212b4ba in QtWayland::zwp_input_method_context_v1::handle_surrounding_text (data=0x564f99cd7650, object=<optimized out>, text=<optimized out>, cursor=6881396, anchor=7209071) at /usr/src/debug/maliit-framework-2.3.0-10.fc43.x86_64/redhat-linux-build/qwayland-input-method-unstable-v1.cpp:207
No locals.
#8  0x00007f266fad6056 in ffi_call_unix64 () at ../src/x86/unix64.S:104
No locals.
#9  0x00007f266fad1d16 in ffi_call_int (cif=cif@entry=0x7ffea8579e90, fn=fn@entry=0x7f267212b450 <QtWayland::zwp_input_method_context_v1::handle_surrounding_text(void*, zwp_input_method_context_v1*, char const*, unsigned int, unsigned int)>, rvalue=<optimized out>, rvalue@entry=0x0,
    avalue=avalue@entry=0x7ffea8579f60, closure=closure@entry=0x0) at ../src/x86/ffi64.c:676
        classes = {X86_64_INTEGERSI_CLASS, X86_64_NO_CLASS, 1873652064, 32550}
        stack = <optimized out>
        argp = 0x7ffea8579ce0 ""
        arg_types = <optimized out>
        gprcount = 5
        ssecount = <optimized out>
        ngpr = 1
        nsse = 0
        i = <optimized out>
        avn = <optimized out>
        flags = <optimized out>
        reg_args = <optimized out>
#10 0x00007f266fad47ae in ffi_call (cif=cif@entry=0x7ffea8579e90, fn=0x7f267212b450 <QtWayland::zwp_input_method_context_v1::handle_surrounding_text(void*, zwp_input_method_context_v1*, char const*, unsigned int, unsigned int)>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffea8579f60) at ../src/x86/ffi64.c:713
        arg_types = <optimized out>
        i = <optimized out>
        nargs = <optimized out>
        max_reg_struct_size = <optimized out>
#11 0x00007f266fdd8feb in wl_closure_invoke (closure=closure@entry=0x7f2648002e20, target=<optimized out>, target@entry=0x7f26480021c0, opcode=opcode@entry=0, data=<optimized out>, flags=1) at ../src/connection.c:1241
        count = 3
        cif = {abi = FFI_UNIX64, nargs = 5, arg_types = 0x7ffea8579eb0, rtype = 0x7f266fada8c0 <ffi_type_void>, bytes = 0, flags = 0}
        ffi_types = {0x7f266fada9c0 <ffi_type_pointer>, 0x7f266fada9c0 <ffi_type_pointer>, 0x7f266fada9c0 <ffi_type_pointer>, 0x7f266fada960 <ffi_type_uint32>, 0x7f266fada960 <ffi_type_uint32>, 0x7f266ff52f37 <QQuickOverlay::eventFilter(QObject*, QEvent*)+39>, 0x0, 0x7ffea857a030, 0x0, 0x15127520f0201900,
          0x564f99802480, 0x1, 0x564f99a038a0, 0x7f2670112c3c <__internal_syscall_cancel+92>, 0x7f266bf2cd48, 0xffffffff, 0x7f266bf2cd48, 0x7f266bf2ca40, 0x7ffea8579f60, 0x7f26701132ac <__futex_abstimed_wait_common+124>, 0xca, 0x7f2670112c84 <__syscall_cancel+20>}
        ffi_args = {0x7ffea8579e70, 0x7ffea8579e78, 0x7f2648002e38, 0x7f2648002e40, 0x7f2648002e48, 0x564f00000000, 0xa857a0d0, 0x30, 0x7f26701157a0 <__condvar_cleanup_waiting>, 0x7ffea8579fc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x15127520f0201900, 0x564f99811b6c, 0x0, 0x564f99dbf6a8,
          0x7f267011b35a <__GI___pthread_mutex_unlock_usercnt+90>}
        implementation = <optimized out>
#12 0x00007f266fdd9e49 in dispatch_event (display=display@entry=0x564f9980e1f0, queue=queue@entry=0x564f9980e2e8) at ../src/wayland-client.c:1707
        closure = 0x7f2648002e20
        proxy = 0x7f26480021c0
        opcode = 0
        proxy_destroyed = <optimized out>
#13 0x00007f266fdda243 in dispatch_queue (display=0x564f9980e1f0, queue=0x564f9980e2e8) at ../src/wayland-client.c:1853
        count = 1
#14 wl_display_dispatch_queue_pending (display=0x564f9980e1f0, queue=0x564f9980e2e8) at ../src/wayland-client.c:2190
        ret = <optimized out>
#15 0x00007f265df67afe in QtWaylandClient::QWaylandDisplay::flushRequests (this=<optimized out>) at /usr/src/debug/qt5-qtwayland-5.15.18-1.fc43.x86_64/src/client/qwaylanddisplay.cpp:255
No locals.
#16 0x00007f267087dcb4 in QObject::event (this=<optimized out>, e=<optimized out>) at kernel/qobject.cpp:1347
        mce = <optimized out>
        sender = {previous = 0x0, receiver = 0x564f9980c350, sender = 0x564f998846d0, signal = 5}
#17 0x00007f2670850778 in QCoreApplication::notifyInternal2 (receiver=0x564f9980c350, event=0x7f2648001480) at kernel/qcoreapplication.cpp:1064
        selfRequired = true
        result = false
        cbdata = {0x564f9980c350, 0x7f2648001480, 0x7ffea857a1cf}
        d = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        threadData = 0x564f99802480
        scopeLevelCounter = {threadData = 0x564f99802480}
#18 0x00007f2670850992 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
No locals.
#19 0x00007f2670853ca8 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=event_type@entry=0, data=0x564f99802480) at kernel/qcoreapplication.cpp:1821
        e = 0x7f2648001480
        pe = <optimized out>
        r = 0x564f9980c350
        relocker = <optimized out>
        event_deleter = {d = 0x7f2648001480}
        locker = {_M_device = 0x564f998024b0, _M_owns = true}
        startOffset = 0
        i = @0x564f998024a4: 1
        cleanup = {receiver = 0x0, event_type = 0, data = 0x564f99802480, exceptionCaught = true}
#20 0x00007f2670853f50 in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=0) at kernel/qcoreapplication.cpp:1680
        data = <optimized out>
#21 0x00007f26708a64cf in postEventSourceDispatch (s=0x564f99886c90) at kernel/qeventdispatcher_glib.cpp:277
        source = 0x564f99886c90
#22 0x00007f267133f2a3 in g_main_dispatch (context=0x7f2658000f20) at ../glib/gmain.c:3565
        dispatch = 0x7f26708a64b0 <postEventSourceDispatch(GSource*, GSourceFunc, gpointer)>
        prev_source = 0x0
        begin_time_nsec = 1236767994925
        was_in_call = 0
        user_data = 0x0
        callback = 0x0
        cb_funcs = 0x0
        cb_data = 0x0
        need_destroy = <optimized out>
        source = 0x564f99886c90
        current = 0x564f99e5d920
        i = 0
        __func__ = <optimized out>
#23 g_main_context_dispatch_unlocked (context=0x7f2658000f20) at ../glib/gmain.c:4425
No locals.
#24 0x00007f26713481f8 in g_main_context_iterate_unlocked (context=context@entry=0x7f2658000f20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4490
        max_priority = 2147483647
        timeout_usec = 1900000
        some_ready = 1
        nfds = 1
        allocated_nfds = <optimized out>
        fds = <optimized out>
        begin_time_nsec = <optimized out>
#25 0x00007f26713483a3 in g_main_context_iteration (context=0x7f2658000f20, may_block=1) at ../glib/gmain.c:4556
        retval = <optimized out>
#26 0x00007f26708a5f67 in QEventDispatcherGlib::processEvents (this=0x564f9988aee0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
        d = 0x564f998639d0
        canWait = <optimized out>
        savedFlags = {i = 0}
        result = <optimized out>
#27 0x00007f267084f0e2 in QEventLoop::exec (this=this@entry=0x7ffea857a520, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
        d = 0x564f99e104e0
        threadData = <optimized out>
        locker = {val = 94899877717368}
        ref = <optimized out>
        app = <optimized out>
#28 0x00007f26708574c4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1375
        threadData = 0x564f99802480
        eventLoop = {<QObject> = {_vptr.QObject = 0x7f2670b74b28 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2670ab2380 <qt_meta_stringdata_QObject>, data = 0x7f2670ab2260 <qt_meta_data_QObject>,
                static_metacall = 0x7f2670884620 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x564f99e104e0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2670ab5340 <qt_meta_stringdata_Qt>,
                data = 0x7f2670ab24a0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f2670b6c3a0 <QObject::staticMetaObject>}, stringdata = 0x7f2670aae540 <qt_meta_stringdata_QEventLoop>,
              data = 0x7f2670aae4e0 <qt_meta_data_QEventLoop>, static_metacall = 0x7f267084edc0 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        returnCode = <optimized out>
#29 0x00007f2670bf3bad in QGuiApplication::exec () at kernel/qguiapplication.cpp:1863
No locals.
#30 0x0000564f8980ee0d in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/maliit-keyboard-2.3.1-11.fc43.x86_64/src/keyboard/keyboard.cpp:40
        app = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7f26711e6260 <vtable for QGuiApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2670ab2380 <qt_meta_stringdata_QObject>, data = 0x7f2670ab2260 <qt_meta_data_QObject>,
                  static_metacall = 0x7f2670884620 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x564f99802350}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2670ab5340 <qt_meta_stringdata_Qt>,
                  data = 0x7f2670ab24a0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f2670b6c3a0 <QObject::staticMetaObject>}, stringdata = 0x7f2670aae740 <qt_meta_stringdata_QCoreApplication>,
                data = 0x7f2670aae620 <qt_meta_data_QCoreApplication>, static_metacall = 0x7f2670852040 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7ffea857a5c0}, static staticMetaObject = {d = {superdata = {
                direct = 0x7f2670b74cc0 <QCoreApplication::staticMetaObject>}, stringdata = 0x7f267111d860 <qt_meta_stringdata_QGuiApplication>, data = 0x7f267111d5e0 <qt_meta_data_QGuiApplication>, static_metacall = 0x7f2670bf4c40 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>,
              relatedMetaObjects = 0x0, extradata = 0x0}}}
        plugin = {<QObject> = {_vptr.QObject = 0x564f8984b000 <vtable for MaliitKeyboardPlugin+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2670ab2380 <qt_meta_stringdata_QObject>, data = 0x7f2670ab2260 <qt_meta_data_QObject>,
                static_metacall = 0x7f2670884620 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x564f99a83ad0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2670ab5340 <qt_meta_stringdata_Qt>,
                data = 0x7f2670ab24a0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, <Maliit::Plugins::InputMethodPlugin> = {_vptr.InputMethodPlugin = 0x564f8984b088 <vtable for MaliitKeyboardPlugin+152>}, static staticMetaObject = {d = {superdata = {
                direct = 0x7f2670b6c3a0 <QObject::staticMetaObject>}, stringdata = 0x564f89840440 <qt_meta_stringdata_MaliitKeyboardPlugin>, data = 0x564f8983db80 <qt_meta_data_MaliitKeyboardPlugin>,
              static_metacall = 0x564f8980f1c0 <MaliitKeyboardPlugin::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
        inputMethod = {<QObject> = {_vptr.QObject = 0x7f2672194cf0 <vtable for Maliit::StandaloneInputMethod+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2670ab2380 <qt_meta_stringdata_QObject>, data = 0x7f2670ab2260 <qt_meta_data_QObject>,
                static_metacall = 0x7f2670884620 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x564f99a83d90}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f2670ab5340 <qt_meta_stringdata_Qt>,
                data = 0x7f2670ab24a0 <qt_meta_data_Qt>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f2670b6c3a0 <QObject::staticMetaObject>}, stringdata = 0x7f2672174540 <qt_meta_stringdata_Maliit__StandaloneInputMethod>,
              data = 0x7f2672171440 <qt_meta_data_Maliit__StandaloneInputMethod>, static_metacall = 0x7f26720f0620 <Maliit::StandaloneInputMethod::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, mConnection = std::unique_ptr<MInputContextConnection> = {
            get() = 0x564f9994ef10}, mPlatform = {value = 0x564f99a83ed0, d = 0x564f99a83f10}, mWindowGroup = std::unique_ptr<Maliit::WindowGroup> = {get() = 0x564f99a83f30}, mInputMethodHost = std::unique_ptr<Maliit::StandaloneInputMethodHost> = {get() = 0x564f99aa67e0},
          mInputMethod = std::unique_ptr<MAbstractInputMethod> = {get() = 0x564f99aa6870}}