rime / weasel

【小狼毫】Rime for Windows
https://rime.im
GNU General Public License v3.0
4.65k stars 556 forks source link

使用shutdown命令关闭电脑后,小狼毫报错 #392

Open ipcjs opened 5 years ago

ipcjs commented 5 years ago

环境

复现步骤

  1. 使用shutdown -s -t 3600关闭电脑
  2. 启动电脑后小狼毫报错,用户词库无效

错误日志

E0624 12:51:16.010303  7684 level_db.cc:242] db recovery failed: OK
E0624 12:51:16.010303  7684 level_db.cc:253] Error removing db 'luna_pinyin.userdb': IO error: C:\Users\%USERNAME%\AppData\Roaming\Rime\luna_pinyin.userdb/LOCK: 另一个程序正在使用此文件,进程无法访问。
E0624 12:51:16.011301  7684 user_db_recovery_task.cc:48] Error removing db file 'C:\Users\%USERNAME%\AppData\Roaming\Rime\luna_pinyin.userdb'.

其他

shutdown -s -t 3600-t参数大于0时,相当于开启了-f参数,强制结束进程。改成shutdown -s -t 0之后小狼毫就没有报这个错误了

Window 10 1809 + 小狼毫 0.13.0时,是没有这个问题的,最近两个都升级了下,就报了这个错误,不知道是哪个的问题引起的

baijifeilong commented 2 years ago

tong wen

baijifeilong commented 2 years ago

重新部署无效,重启系统有时候有效,摸索到一个不用重启系统的解决方案:

  1. taskkill /f /im WeaselServer.exe 杀死小狼毫服务
  2. "C:\Program Files (x86)\Rime\weasel-0.14.3\WeaselServer.exe" 再次启动小狼毫服务
zeromake commented 1 year ago

有相同的情况,WeaselServer 服务启动失败,然后手动启动后正常,怀疑是启动时有软件和 WeaselServer 抢 userdb/LOCK 的所有权