搭配wine5.0下运行的qq,经常用着用着就重启fcitx了,然后就打不上字了
我这边也是,但是不知道是哪边的问题
现在看来不止wine5.0会这样,用着用着fcitx就被重启已经是常态,希望尽快解决下
可以帮忙看下堆栈信息吗?
sudo mv /usr/bin/sogouImeService-watchdog /
注销后登陆
killall fcitx
killall sogouImeService
gdb /usr/bin/fcitx
然后输入: r -D
新开一个终端, gdb /usr/bin/sogouImeService
然后输入: r -D
fcitx崩溃后,输入bt,看下堆栈信息
2020-06-24 14:36:32:519 [203983:140737225921472] SOGOU: void WBImmWrapper::DoImeExtraCmd(t_dataImc*) INFO: -----imeprocess produce virtual = 0
2020-06-24 14:36:32:519 [203983:140737225921472] SOGOU: void CSogouShellPCWbEx::RefreshCompResult() INFO: get comp, ; comResult,
2020-06-24 14:36:32:519 [203983:140737225921472] SOGOU: void CSogouShellPCWbEx::RefreshCompResult() INFO: m_pImcUiWrapper->GetResultStr
2020-06-24 14:36:32:519 [203983:140737225921472] SOGOU: void CSogouShellPCWbEx::RefreshCompResult() INFO: t_autoStrConvW2UTF8 m_strResult 顶替
2020-06-24 14:36:32:519 [203983:140737225921472] SOGOU: virtual const CSGString& CSogouShellPCWbEx::GetResult() INFO: CSogouShellPCPy::GetResult 顶替
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::begin: Paint device returned engine == 0, type: 3
QPainter::begin: Paint device returned engine == 0, type: 3
sendMsg nMessageType= 15------1592980592520013
2020-06-24 14:36:32:520 [203983:140737225921472] SOGOU: virtual ImeState* ImeWbStateFactory::CreateState_i(t_dataImc*, t_env*) INFO: curent state Ready
sendMsg nMessageType= 21------1592980592520030
recive_message true nClientId = 15
2020-06-24 14:36:32:520 [203983:140737225921472] SOGOU: virtual int CSogouShellPCWbEx::GetInfo(unsigned int) INFO: -----------======—m_nSimulateKey = 0
recive_message true nClientId = 21
ecMsgType_CBCandOutput
ecMsgType_CBCandOutput call
sendMsg nMessageType= 6------1592980592520101
recive_message true nClientId = 6
[xcb] Unknown sequence number while processing reply
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
fcitx: …/…/src/xcb_io.c:641:_XReply: 假设 ‘!xcb_xlib_threads_sequence_lost’ 失败。
2020-06-24 14:36:32:520 [203983:140737225921472] SOGOU: void t_uiWrapper::GetDesktopRect(n_sgxx::t_Rect*, n_sgxx::t_Rect*, bool) INFO: @@@@@@Tihis is current LeftTopPoint is:x=807, y=807
2020-06-24 14:36:32:520 [203983:140737225921472] SOGOU: void t_uiWrapper::GetDesktopRect(n_sgxx::t_Rect*, n_sgxx::t_Rect*, bool) INFO: @@@@@@This is avalirect is :left=0, top=27, right=2560, bottom=1388
2020-06-24 14:36:32:520 [203983:140737225921472] SOGOU: virtual void t_uiWrapper::MoveComp(int, int) INFO: ###MoveComp::current Move is:x=807, y=1263 #######
Thread 2 “fcitx” received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff3216700 (LWP 203978)]
__GI_raise (sig=sig@entry=6) at …/sysdeps/unix/sysv/linux/raise.c:50
50 …/sysdeps/unix/sysv/linux/raise.c: 没有那个文件或目录.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at …/sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7d6e859 in __GI_abort () at abort.c:79
#2 0x00007ffff7d6e729 in __assert_fail_base (fmt=0x7ffff618b183 “%s%s%s:%u:%s%s假设 ‘%s’ 失败。\n%n”,
assertion=0x7ffff6bed858 “!xcb_xlib_threads_sequence_lost”, file=0x7ffff6bed6c3 “…/…/src/xcb_io.c”, line=641, function=) at assert.c:92
#3 0x00007ffff7d7ff36 in __GI___assert_fail (assertion=0x7ffff6bed858 “!xcb_xlib_threads_sequence_lost”, file=0x7ffff6bed6c3 “…/…/src/xcb_io.c”, line=641,
function=0x7ffff6bedad8 “_XReply”) at assert.c:101
#4 0x00007ffff6b7a0ee in _XReply () from /lib/x86_64-linux-gnu/libX11.so.6
#5 0x00007ffff6b6441b in XInternAtom () from /lib/x86_64-linux-gnu/libX11.so.6
#6 0x00007ffff6b90476 in ?? () from /lib/x86_64-linux-gnu/libX11.so.6
#7 0x00007ffff6b9062f in _Xutf8TextListToTextProperty () from /lib/x86_64-linux-gnu/libX11.so.6
#8 0x00007ffff21f0c33 in ?? () from /usr/lib/x86_64-linux-gnu/fcitx/fcitx-xim.so
#9 0x00007ffff7f9b123 in FcitxInstanceCommitString () from /lib/x86_64-linux-gnu/libfcitx-core.so.0
#10 0x00007ffff342be50 in ?? () from /usr/lib/x86_64-linux-gnu/fcitx/fcitx-sogouimebs.so
#11 0x00007ffff342be7c in ?? () from /usr/lib/x86_64-linux-gnu/fcitx/fcitx-sogouimebs.so
#12 0x00007ffff3432242 in ?? () from /usr/lib/x86_64-linux-gnu/fcitx/fcitx-sogouimebs.so
#13 0x00007ffff3431d38 in ?? () from /usr/lib/x86_64-linux-gnu/fcitx/fcitx-sogouimebs.so
#14 0x00007ffff343571e in ?? () from /usr/lib/x86_64-linux-gnu/fcitx/fcitx-sogouimebs.so
#15 0x00007ffff3435a13 in ?? () from /usr/lib/x86_64-linux-gnu/fcitx/fcitx-sogouimebs.so
#16 0x00007ffff7f44609 in start_thread (arg=) at pthread_create.c:477
#17 0x00007ffff7e6b103 in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)
收到,我反馈给开发人员
看堆栈是搜狗使用了fcitx上屏接口FcitxInstanceCommitString,导致xcb触发了assert,使用百度输入法看看,上屏幕机制不一样,说不定没这个问题
百度输入法确实没有奔溃的问题,但是百度把五笔,五笔拼音,和拼音全部混在一起,不能单独选,所以有时候打上去的字,并不是自己想要的字,而且相差十分巨大。我们输入汉字的时候,大家都是会侧重用一个输入方式,比如五笔厉害的就只打五笔,拼音厉害的只打拼音,一半一半的就五笔和拼音,但是百度输入法这个就厉害了,全部搞到一起,不管你输入什么首先出来的都是一堆候选词,排前面的总是不会是你想要的,还有特殊字符无法输入的BUG,比如@¥#就输入不上,总体没有搜狗易用和友好。