libpinyin / ibus-libpinyin

GNU General Public License v3.0
627 stars 90 forks source link

使用一段时间后,出现随机崩溃的问题 #399

Open xgugugu opened 1 year ago

xgugugu commented 1 year ago

使用大约一星期后,输入某些词语时输入法崩溃,只能ibus restart重启

目前可以通过清除用户数据来解决崩溃,但是这不应是解决问题的方法

ibus版本:1.57;libpinyin版本:2.6.2;ibus-libpinyin版本:1.13.0;均在manjaro官方源中安装

epico commented 1 year ago

请问您使用的 libpinyin 和 ibus-libpinyin 的版本是?

xgugugu commented 1 year ago

请问您使用的 libpinyin 和 ibus-libpinyin 的版本是?

非常抱歉当初撰写issue时没有考虑到,现在已经补充

epico commented 1 year ago

请问 libpinyin 使用的是 Berkeley DB, 还是 Kyoto Cabinet?

xgugugu commented 1 year ago

请问 libpinyin 使用的是 Berkeley DB, 还是 Kyoto Cabinet?

Kyoto Cabinet

epico commented 1 year ago

如果用户数据比较多的情况下,可能 Berkeley DB 会稳定一些。

mygith commented 9 months ago

我的情况和这个类似, 是输入某些字就崩溃, 有这个字的词语没有问题. 请问应该怎么解决? Fedora:39 gnome:45.2 IBus:1.5.29-rc2 libpinyin:2.8.1 ibus-libpinyin:1.15.5

/home/w/.cache/ibus/libpinyin/user.conf :


binary format version:7
model data version:14
database format:KyotoCabinet

日志:


Process 24042 (ibus-engine-lib) of user 1000 dumped core.

Module libdconfsettings.so from rpm dconf-0.40.0-9.fc39.x86_64
Module libgvfscommon.so from rpm gvfs-1.52.1-1.fc39.x86_64
Module libgvfsdbus.so from rpm gvfs-1.52.1-1.fc39.x86_64
Module libblkid.so.1 from rpm util-linux-2.39.2-1.fc39.x86_64
Module liblzma.so.5 from rpm xz-5.4.4-1.fc39.x86_64
Module libffi.so.8 from rpm libffi-3.4.4-4.fc39.x86_64
Module libpcre2-8.so.0 from rpm pcre2-10.42-1.fc39.2.x86_64
Module libselinux.so.1 from rpm libselinux-3.5-5.fc39.x86_64
Module libmount.so.1 from rpm util-linux-2.39.2-1.fc39.x86_64
Module libgmodule-2.0.so.0 from rpm glib2-2.78.3-1.fc39.x86_64
Module libkyotocabinet.so.16 from rpm kyotocabinet-1.2.80-3.fc39.x86_64
Module libz.so.1 from rpm zlib-1.2.13-4.fc39.x86_64
Module liblua-5.4.so from rpm lua-5.4.6-3.fc39.x86_64
Module libgobject-2.0.so.0 from rpm glib2-2.78.3-1.fc39.x86_64
Module libglib-2.0.so.0 from rpm glib2-2.78.3-1.fc39.x86_64
Module libgio-2.0.so.0 from rpm glib2-2.78.3-1.fc39.x86_64
Module libibus-1.0.so.5 from rpm ibus-1.5.29~rc2-4.fc39.x86_64
Module libpinyin.so.15 from rpm libpinyin-2.8.1-5.fc39.x86_64
Module ibus-engine-libpinyin from rpm ibus-libpinyin-1.15.5-1.fc39.x86_64
Stack trace of thread 24042:
#0  0x00007fb1658ae834 __pthread_kill_implementation (libc.so.6 + 0x90834)
#1  0x00007fb16585c8ee raise (libc.so.6 + 0x3e8ee)
#2  0x00007fb1658448ff abort (libc.so.6 + 0x268ff)
#3  0x00007fb16584481b __assert_fail_base.cold (libc.so.6 + 0x2681b)
#4  0x00007fb165854c57 __assert_fail (libc.so.6 + 0x36c57)
#5  0x00007fb1661accfe _ZL11_add_phraseP17_pinyin_context_thP7_GArrayPjli.lto_priv.0 (libpinyin.so.15 + 0x9ecfe)
#6  0x00007fb1661c1524 _ZL22_remember_phrase_recurP18_pinyin_instance_tP7_GArrayS2_mPji (libpinyin.so.15 + 0xb3524)
#7  0x00007fb1661c1889 pinyin_remember_user_input (libpinyin.so.15 + 0xb3889)
#8  0x000055c13fd4c380 _ZN2PY14PhoneticEditor23selectCandidateInternalERNS_17EnhancedCandidateE (ibus-engine-libpinyin + 0x9b380)
#9  0x000055c13fd4b474 _ZN2PY14PhoneticEditor15selectCandidateEj (ibus-engine-libpinyin + 0x9a474)
#10 0x000055c13fd4b5c6 _ZN2PY14PhoneticEditor12processSpaceEjjj (ibus-engine-libpinyin + 0x9a5c6)
#11 0x000055c13fd51024 _ZN2PY12PinyinEngine15processKeyEventEjjj (ibus-engine-libpinyin + 0xa0024)
#12 0x00007fb16609d2c8 _ibus_marshal_BOOLEAN__UINT_UINT_UINT (libibus-1.0.so.5 + 0x172c8)
#13 0x00007fb165d1a52a g_closure_invoke (libgobject-2.0.so.0 + 0x1452a)
#14 0x00007fb165d49688 signal_emit_unlocked_R.isra.0 (libgobject-2.0.so.0 + 0x43688)
#15 0x00007fb165d3967a signal_emit_valist_unlocked (libgobject-2.0.so.0 + 0x3367a)
#16 0x00007fb165d39f91 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33f91)
#17 0x00007fb165d3a053 g_signal_emit (libgobject-2.0.so.0 + 0x34053)
#18 0x00007fb1660b4dcc ibus_engine_service_method_call (libibus-1.0.so.5 + 0x2edcc)
#19 0x00007fb165fbd6e8 call_in_idle_cb.lto_priv.2 (libgio-2.0.so.0 + 0x10d6e8)
#20 0x00007fb165dbe78d g_idle_dispatch (libglib-2.0.so.0 + 0x5878d)
#21 0x00007fb165dc1e5c g_main_context_dispatch_unlocked.lto_priv.0 (libglib-2.0.so.0 + 0x5be5c)
#22 0x00007fb165e1cf18 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xb6f18)
#23 0x00007fb165dc3447 g_main_loop_run (libglib-2.0.so.0 + 0x5d447)
#24 0x00007fb1660cdeb0 ibus_main (libibus-1.0.so.5 + 0x47eb0)
#25 0x000055c13fd3fdab main (ibus-engine-libpinyin + 0x8edab)
#26 0x00007fb16584614a __libc_start_call_main (libc.so.6 + 0x2814a)
#27 0x00007fb16584620b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2820b)
#28 0x000055c13fd406b5 _start (ibus-engine-libpinyin + 0x8f6b5)

Stack trace of thread 24043:
#0  0x00007fb1659315ed syscall (libc.so.6 + 0x1135ed)
#1  0x00007fb165e19b2d g_cond_wait (libglib-2.0.so.0 + 0xb3b2d)
#2  0x00007fb165d8d22b g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x2722b)
#3  0x00007fb165df6393 g_thread_pool_spawn_thread (libglib-2.0.so.0 + 0x90393)
#4  0x00007fb165df2523 g_thread_proxy (libglib-2.0.so.0 + 0x8c523)
#5  0x00007fb1658ac897 start_thread (libc.so.6 + 0x8e897)
#6  0x00007fb1659336fc __clone3 (libc.so.6 + 0x1156fc)

Stack trace of thread 24044:
#0  0x00007fb165925bcd __poll (libc.so.6 + 0x107bcd)
#1  0x00007fb165e1ceb4 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xb6eb4)
#2  0x00007fb165dbfad3 g_main_context_iteration (libglib-2.0.so.0 + 0x59ad3)
#3  0x00007fb165dbfb29 glib_worker_main (libglib-2.0.so.0 + 0x59b29)
#4  0x00007fb165df2523 g_thread_proxy (libglib-2.0.so.0 + 0x8c523)
#5  0x00007fb1658ac897 start_thread (libc.so.6 + 0x8e897)
#6  0x00007fb1659336fc __clone3 (libc.so.6 + 0x1156fc)

Stack trace of thread 24045:
#0  0x00007fb165925bcd __poll (libc.so.6 + 0x107bcd)
#1  0x00007fb165e1ceb4 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xb6eb4)
#2  0x00007fb165dc3447 g_main_loop_run (libglib-2.0.so.0 + 0x5d447)
#3  0x00007fb165fcc592 gdbus_shared_thread_func.lto_priv.0 (libgio-2.0.so.0 + 0x11c592)
#4  0x00007fb165df2523 g_thread_proxy (libglib-2.0.so.0 + 0x8c523)
#5  0x00007fb1658ac897 start_thread (libc.so.6 + 0x8e897)
#6  0x00007fb1659336fc __clone3 (libc.so.6 + 0x1156fc)

Stack trace of thread 24046:
#0  0x00007fb165925bcd __poll (libc.so.6 + 0x107bcd)
#1  0x00007fb165e1ceb4 g_main_context_iterate_unlocked.isra.0 (libglib-2.0.so.0 + 0xb6eb4)
#2  0x00007fb165dbfad3 g_main_context_iteration (libglib-2.0.so.0 + 0x59ad3)
#3  0x00007fb1565d06b5 dconf_gdbus_worker_thread (libdconfsettings.so + 0x76b5)
#4  0x00007fb165df2523 g_thread_proxy (libglib-2.0.so.0 + 0x8c523)
#5  0x00007fb1658ac897 start_thread (libc.so.6 + 0x8e897)
#6  0x00007fb1659336fc __clone3 (libc.so.6 + 0x1156fc)
ELF object binary architecture: AMD x86-64
epico commented 9 months ago

请问是输入哪些字造成崩溃的?

mygith commented 9 months ago

"节","查","打" 输入这些字符是每次都会崩溃, 不管在哪个输入环境下. 输入fu 选 "服"会崩溃, 选"服务"不会崩溃. 输入fuwu 选"服务"也会崩溃

epico commented 8 months ago

尝试过删除用户的输入法数据没有?

可以通过删除 ~/.cache/ibus/libpinyin/user.conf 文件,libpinyin 在下次登陆时会清理用户的输入法数据文件的。

mygith commented 8 months ago

尝试过删除用户的输入法数据没有?

可以通过删除 ~/.cache/ibus/libpinyin/user.conf 文件,libpinyin 在下次登陆时会清理用户的输入法数据文件的。

谢谢, 删除后正常了. 请问时间长了都需要删除吗?我的这个文件夹在400k左右, 3个月内产生的.

epico commented 8 months ago

最近,这方面做了一些改进。

可以考虑等出现了问题,再清除用户数据的。

mygith commented 8 months ago

好的, 再次感谢