Closed Ruomio closed 7 months ago
➜ ~ fcitx5-diagnose
# System Info:
1. `uname -a`:
Linux archlinux 6.6.18-1-lts #1 SMP PREEMPT_DYNAMIC Fri, 23 Feb 2024 14:58:40 +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://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
6. Desktop Environment:
Cannot determine desktop environment.
7. XDG SESSION TYPE:
XDG_SESSION_TYPE='wayland'
8. Bash Version:
BASH_VERSION='5.2.26(1)-release'
# Environment:
1. DISPLAY:
DISPLAY=':0'
WAYLAND_DISPLAY='wayland-1'
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=zh_CN.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=en_US.UTF-8
4. Directories:
1. Home:
/home/papillon
2. `${XDG_CONFIG_HOME}`:
Environment variable `XDG_CONFIG_HOME` is not set.
Current value of `XDG_CONFIG_HOME` is `~/.config` (`/home/papillon/.config`).
3. Fcitx5 Settings Directory:
Current fcitx5 settings directory is `~/.config/fcitx5` (`/home/papillon/.config/fcitx5`).
5. Current user:
The script is run as papillon (1000).
# Fcitx State:
1. executable:
Found fcitx5 at `/usr/bin/fcitx5`.
2. version:
Fcitx version: `5.1.8`
3. process:
Found 1 fcitx5 process:
643451 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.1368`.
PID of DBus name `org.fcitx.Fcitx5` owner is `643451`.
Debug information from dbus:
Group [wayland:] has 8 InputContext(s)
IC [856ffec8d98a4017a58229e66f7c1d66] program:kitty frontend:wayland_v2 cap:100000072 focus:1
IC [e02ec5625aba468a99763f406ce808fe] program:okular frontend:dbus cap:1e001800072 focus:0
IC [9d167ff5ff6147cf9248cdf4da18a60e] program:pcmanfm-qt frontend:dbus cap:e001800072 focus:0
IC [8b5fa5c2c264458ba24cea03e2639961] program:netease-cloud-music-gtk4 frontend:dbus cap:4001000032 focus:0
IC [17f4cd5e9c0f4c0abc10973116ad78ab] program:netease-cloud-music-gtk4 frontend:dbus cap:4001000032 focus:0
IC [0540b4bfd39a4463af40e96f0e062aea] program: frontend:dbus cap:4001000032 focus:0
IC [755c2c9e2c8845b288659f945a659a56] program:google-chrome frontend:wayland_v2 cap:72 focus:0
IC [691c98836ed9481a9ebfde5675c8d0b0] program: frontend:wayland_v2 cap:100000072 focus:0
Group [x11::0] has 2 InputContext(s)
IC [6eaa2c18e21f43689bb70bf773260178] program:qq frontend:dbus cap:6000000032 focus:0
IC [58dbcfd510614a5fbcc14318f3075672] program:wechat frontend:fcitx4 cap:800072 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:
**`kcmshell5` not found.**
# 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 qt6 module: `/usr/lib/fcitx5/qt6/libfcitx-quickphrase-editor5.so`.
Found fcitx5 qt5 module: `/usr/lib/fcitx5/qt5/libfcitx-quickphrase-editor5.so`.
Found fcitx5 im module for qt: `/usr/lib/qt/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
Found fcitx5 im module for qt6: `/usr/lib/qt6/plugins/platforminputcontexts/libfcitx5platforminputcontextplugin.so`.
Found unknown fcitx qt module: `/usr/lib/qt6/plugins/plasma/kcms/systemsettings/kcm_fcitx5.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.41` at `/usr/bin/gtk-query-immodules-3.0`.
Version Line:
# Created by /usr/bin/gtk-query-immodules-3.0 from gtk+-3.24.41
Found fcitx5 im modules for gtk `3.24.41`.
"/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:*"
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.41` 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.41
Found fcitx5 im modules for gtk `3.24.41`.
"/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:*"
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 21 enabled addons:
Classic User Interface 5.1.8
Clipboard 5.1.8
DBus 5.1.8
DBus Frontend 5.1.8
Emoji 5.1.8
Fcitx4 Frontend 5.1.8
IBus Frontend 5.1.8
Input method selector 5.1.8
Keyboard 5.1.8
KDE Input Method Panel 5.1.8
Status Notifier 5.1.8
Notification 5.1.8
Quick Phrase 5.1.8
Rime 5.1.5
Spell 5.1.8
Unicode 5.1.8
DBus Virtual Keyboard 5.1.8
Wayland 5.1.8
Wayland Input method frontend 5.1.8
XCB 5.1.8
X Input Method Frontend 5.1.8
2. Found 0 disabled addons:
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/papillon/.config/fcitx5/profile`:
[Groups/0]
# Group Name
Name=Default
# Layout
Default Layout=us
# Default Input Method
DefaultIM=rime
[Groups/0/Items/0]
# Name
Name=keyboard-us
# Layout
Layout=
[Groups/0/Items/1]
# Name
Name=rime
# Layout
Layout=us
[GroupOrder]
0=Default
# Log:
1. `date`:
Tue Mar 12 05:07:25 PM CST 2024
2. `/home/papillon/.config/fcitx5/crash.log`:
=========================
Fcitx 5.1.8 -- Get Signal No.: 6
Date: try "date -d @1710234394" if you are using GNU date ***
ProcessID: 643066
/usr/bin/fcitx5(+0xe26c)[0x5822be86b26c]
/usr/lib/libc.so.6(+0x3c770)[0x791cd1a5a770]
/usr/lib/libc.so.6(+0x8d32c)[0x791cd1aab32c]
/usr/lib/libc.so.6(gsignal+0x18)[0x791cd1a5a6c8]
/usr/lib/libc.so.6(abort+0xd7)[0x791cd1a424b8]
/usr/lib/libstdc++.so.6(+0x9ca6f)[0x791cd1c9ca6f]
/usr/lib/libstdc++.so.6(+0xb011c)[0x791cd1cb011c]
/usr/lib/libstdc++.so.6(+0xb0189)[0x791cd1cb0189]
/usr/lib/libstdc++.so.6(+0xb03ed)[0x791cd1cb03ed]
/usr/lib/librime.so.1(+0x69ff5)[0x791cc9247ff5]
/usr/lib/librime.so.1(_ZN4rime21SimplifiedTranslation9ReplenishEv+0x54)[0x791cc930c6c4]
/usr/lib/librime.so.1(_ZN4rime19PrefetchTranslation4PeekEv+0x96)[0x791cc9280c16]
/usr/lib/librime.so.1(_ZN4rime16CacheTranslation4PeekEv+0xad)[0x791cc9280b3d]
/usr/lib/librime.so.1(_ZN4rime21UniquifiedTranslation8UniquifyEv+0x4f)[0x791cc931b0bf]
/usr/lib/librime.so.1(_ZN4rime4Menu7PrepareEm+0x66)[0x791cc9273426]
/usr/lib/librime.so.1(_ZN4rime4Menu14GetCandidateAtEm+0x32)[0x791cc92735a2]
/usr/lib/librime.so.1(_ZNK4rime7Segment14GetCandidateAtEm+0x2b)[0x791cc92753cb]
/usr/lib/librime.so.1(_ZNK4rime7Segment20GetSelectedCandidateEv+0x26)[0x791cc9275426]
/usr/lib/librime.so.1(_ZNK4rime11Composition10GetPreeditERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmS8_+0xae)[0x791cc926656e]
/usr/lib/librime.so.1(_ZNK4rime7Context10GetPreeditEv+0x45)[0x791cc9266c15]
/usr/lib/librime.so.1(RimeGetContext+0xaa)[0x791cc925a70a]
/usr/lib/fcitx5/librime.so(+0xf552)[0x791cc9586552]
/usr/lib/fcitx5/librime.so(+0x108ea)[0x791cc95878ea]
/usr/lib/libFcitx5Core.so.7(_ZNK5fcitx8Instance9postEventERNS_5EventE+0x1ee)[0x791cd21e848e]
/usr/lib/libFcitx5Core.so.7(_ZN5fcitx12InputContext8keyEventERNS_8KeyEventE+0xa6)[0x791cd220a026]
/usr/lib/fcitx5/libdbusfrontend.so(+0x192da)[0x791cd00c52da]
/usr/lib/fcitx5/libdbusfrontend.so(+0x10f34)[0x791cd00bcf34]
/usr/lib/libFcitx5Utils.so.2(+0x2f5ca)[0x791cd21175ca]
/usr/lib/libsystemd.so.0(+0x2f45d)[0x791cd1f7545d]
/usr/lib/libsystemd.so.0(+0x48b1b)[0x791cd1f8eb1b]
/usr/lib/libsystemd.so.0(+0x499a8)[0x791cd1f8f9a8]
/usr/lib/libsystemd.so.0(+0x7d60a)[0x791cd1fc360a]
**Warning: the output of fcitx5-diagnose contains sensitive information, including the distribution name, kernel version, name of currently running programs, etc.**
**Though such information can be helpful to developers for diagnostic purpose, please double check and remove as necessary before posting it online publicly.**
hyprland 环境
如果用rime,可能和你使用的具体方案有关
如果用rime,可能和你使用的具体方案有关
确实,使用 rime-luna-pinyin
连续输入 ng 或者gn 就会崩溃,切换到 rime-terra-pinyin
就没这个问题了。
你的 backtrace 崩溃在 abort 在 librime 里,建议在终端运行一下看看,以及检查一下你的系统有没有自己编译的包,或者自己修改的 rime 的配置
我有点不太理解你第一句话, 我分别使用strace, lldb调试fcitx5程序,下边是运行结果
系统日志:
ar 15 10:06:46 archlinux systemd[1]: Started Process Core Dump (PID 100663/UID 0).
Mar 15 10:06:46 archlinux systemd-coredump[100664]: [🡕] Process 100638 (fcitx5) of user 1000 dumped core.
Stack trace of thread 100638:
#0 0x0000704642aab32c n/a (libc.so.6 + 0x8d32c)
#1 0x0000704642a5a6c8 raise (libc.so.6 + 0x3c6c8)
#2 0x0000704642a424b8 abort (libc.so.6 + 0x244b8)
#3 0x00007046430b8c3f n/a (libFcitx5Utils.so.2 + 0x17c3f)
#4 0x0000704642f2e45d n/a (libsystemd.so.0 + 0x2f45d)
#5 0x0000704642f47b1b n/a (libsystemd.so.0 + 0x48b1b)
#6 0x0000704642f489a8 n/a (libsystemd.so.0 + 0x499a8)
#7 0x0000704642f7c60a n/a (libsystemd.so.0 + 0x7d60a)
#8 0x0000704642f7c92e sd_event_dispatch (libsystemd.so.0 + 0x7d92e)
#9 0x0000704642f7e649 sd_event_run (libsystemd.so.0 + 0x7f649)
#10 0x0000704642f7e820 sd_event_loop (libsystemd.so.0 + 0x7f820)
#1 0x00007bc2a9f8e337 g_cond_wait (libglib-2.0.so.0 + 0xb3337)
#2 0x00007bc2a9f001b4 n/a (libglib-2.0.so.0 + 0x251b4)
#3 0x00007bc2a9f0021c g_async_queue_pop (libglib-2.0.so.0 + 0x2521c)
#4 0x00007bc2a864bc48 n/a (libpangoft2-1.0.so.0 + 0x8c48)
#5 0x00007bc2a9f66a45 n/a (libglib-2.0.so.0 + 0x8ba45)
#6 0x00007bc2aaca955a n/a (libc.so.6 + 0x8b55a)
#7 0x00007bc2aad26a3c n/a (libc.so.6 + 0x108a3c)
ELF object binary architecture: AMD x86-64
Mar 15 10:06:17 archlinux systemd[1]: systemd-coredump@13-100556-0.service: Deactivated successfully.
strace结果(最后部分):
writev(23, [{iov_base="fcitx5", iov_len=6}, {iov_base="(", iov_len=1}, {iov_base="+0x", iov_len=3}, {iov_base="daf5", iov_len=4}, {iov_base=")", iov_len=1}, {iov_base="[0x", iov_len=3}, {iov_base="5c1888083af5", iov_len=12}, {iov_base="]\n", iov_len=2}], 8) = 32
close(23) = 0
rt_sigaction(SIGABRT, {sa_handler=SIG_DFL, sa_mask=[ABRT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x704642a5a770}, {sa_handler=0x5c1888083d40, sa_mask=[ABRT], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x704642a5a770}, 8) = 0
gettid() = 100638
getpid() = 100638
tgkill(100638, 100638, SIGABRT) = 0
rt_sigreturn({mask=[]}) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=100638, si_uid=1000} ---
+++ killed by SIGABRT (core dumped) +++
[1] 100632 IOT instruction (core dumped) strace fcitx5
lldb调试(最后部分):
I2024-03-15 10:12:58.641964 virtualkeyboard.cpp:216] VirtualKeyboard new owner:
I2024-03-15 10:12:58.642093 portalsettingmonitor.cpp:91] A new portal show up, start a new query.
I2024-03-15 10:12:58.642233 portalsettingmonitor.cpp:91] A new portal show up, start a new query.
E2024-03-15 10:12:58.642898 portalsettingmonitor.cpp:115] DBus call error: org.freedesktop.portal.Error.NotFound Requested setting not found
E20240315 10:12:59.796827 140736951482048 deployment_tasks.cc:210] missing input schema: essay
I2024-03-15 10:12:59.805197 addonmanager.cpp:193] Loaded addon rime
terminate called after throwing an instance of 'opencc::InvalidUTF8'
Process 101077 stopped
* thread #1, name = 'fcitx5', stop reason = signal SIGABRT
frame #0: 0x00007ffff78ab32c libc.so.6`___lldb_unnamed_symbol3680 + 268
libc.so.6`___lldb_unnamed_symbol3680:
-> 0x7ffff78ab32c <+268>: movl %eax, %ebx
0x7ffff78ab32e <+270>: negl %ebx
0x7ffff78ab330 <+272>: cmpl $0xfffff000, %eax ; imm = 0xFFFFF000
0x7ffff78ab335 <+277>: movl $0x0, %eax
(lldb) ^C
(lldb) quit
这里有你需要的信息吗,或者请详细告诉我您的第一句话如何具体执行
你的 backtrace 崩溃在 abort 在 librime 里,建议在终端运行一下看看,以及检查一下你的系统有没有自己编译的包,或者自己修改的 rime 的配置
你的 backtrace 崩溃在 abort 在 librime 里,建议在终端运行一下看看,以及检查一下你的系统有没有自己编译的包,或者自己修改的 rime 的配置
系统的包:
~ paru -Q | grep rime
fcitx5-rime 5.1.5-1
librime 1:1.10.0-3
librime-data 0.0.0.20220409-1
rime-bopomofo 0.0.0.20210131-1
rime-cangjie 0.0.0.20231211-1
rime-essay 0.0.0.20230204-1
rime-luna-pinyin 0.0.0.20230204-1
rime-prelude 0.0.0.20220409-1
rime-stroke 0.0.0.20231207-1
rime-terra-pinyin 0.0.0.20230207-1
配置文件是没变的,我尝试过删除以存在的配置文件目录,并重新安装rime-luna-pinyin
,所以配置应该是默认的
@Ruomio opencc呢
@wengxt 有的
➜ ~ paru -Qi | grep opencc
Depends On : boost-libs capnproto gcc-libs glibc opencc yaml-cpp leveldb librime-data lua google-glog marisa
Required By : librime opencc
Name : opencc
wayland环境,rime引擎,中文输入 ng 必崩溃