Hi Bo Lan, I got the same problem after recovering from a filesystem error.
The error can be reproduced exactly as you described. I ran libpinyin in the terminal and got the following error message: debian-user:~$ /usr/lib/ibus/ibus-engine-libpinyin --ibus ibus-engine-libpinyin: ../src/lookup/phonetic_lookup.h:901: bool pinyin::PhoneticLookup<nbest>::train_result3(const pinyin::PhoneticKeyMatrix*, const pinyin::ForwardPhoneticConstraints*, MatchResult) [with int nbest = 3; MatchResult = _GArray*; GArray = _GArray]: Assertion `m_user_bigram->store(last_token, user)' failed. Aborted So this error is related to the user data. When you select a phrase other than the first one, libpinyin will try to store it in your home folder. If it doesn't work it will fail and exit. You may want to check the contents in ~/.cache/ibus/libpinyin/ . I simply deleted all files in this folder and kill ibus-engine-libpinyin process to restart it. They things come back to normal again. I think the problem you have is likely to be the same as mine. If not please provide error messages when you run ibus-engine-libpinyin in terminal Thanks!