hgneng / ekho

Chinese text-to-speech engine
GNU General Public License v2.0
1.12k stars 263 forks source link

输入法读屏崩溃 #32

Closed hgneng closed 2 years ago

hgneng commented 4 years ago

在使用输入法读屏(ibusreader)的时候,有时会出现崩溃现象,崩溃后输入法似乎还能使用,但失去读候选词的功能。暂时不知道怎样重现,从下面崩溃的堆栈来看是遇到某些超出utf8范围的字符,不知道是不是和utf8mb4有关。

Core was generated by '/usr/lib/speech-dispatcher-modules/sd_ekho /home/hgneng/.config/speech-dispatch'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50  ../sysdeps/unix/sysv/linux/raise.c: 没有那个文件或目录.
[Current thread is 1 (Thread 0x7f5a84bb7700 (LWP 1718))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f5a8af62859 in __GI_abort () at abort.c:79
#2  0x00007f5a8b1cd951 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007f5a8b1d947c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f5a8b1d94e7 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007f5a8b1d9799 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x000055e7471ea62c in utf8::next<char const*> (it=@0x7f5a84bb6d30: 0x7f5a84bb6e10 "", end=0x7f5a84bb6e10 "")
    at ./utfcpp/source/utf8/checked.h:144
#7  0x000055e7471e8120 in ekho::EkhoImpl::synth2 (this=0x7f5a8a3bb010, text="", callback=
    0x55e7471e3405 <ekho::EkhoImpl::speakPcm(short*, int, void*, ekho::OverlapType)>, userdata=0x7f5a8a3bb010)
    at src/libekho_impl.cpp:1853
#8  0x000055e7471e53d3 in ekho::EkhoImpl::speechDaemon (args=0x7f5a8a3bb010) at src/libekho_impl.cpp:841
#9  0x00007f5a8b319609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f5a8b05f103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
hgneng commented 2 years ago

应该已经修复了