-
Notifications
You must be signed in to change notification settings - Fork 581
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.16.1 版本各种崩溃 #1286
Comments
另外,我有使用一些 Lua 脚本和 OpenCC,这些在 0.15 版本是正常运作的。 |
算法服务崩溃错误报告dmp文件使用简易说明 #1259 |
我昨天刚卸载0.15.0重启系统然后安装0.16.0,再git 今天发现有新版本之后,也是先卸载旧版本重启系统再装新版本0.16.1,但是安装完成发现无法重新部署(部署操作不生效),任务栏也没有正常部署时的那个“沙漏”⌛图标。无论是从系统开始菜单点击的“重新部署”,还是使用脚本命令均无法正常部署。 卸载0.16.1版本退回0.16.0版本后,一切操作均正常(不知道我这种情况是不是个例) Microsoft Windows |
是 UTF-8 编码的;反复崩溃后我注销了好几次,问题依然存在。 回头我再试一下,有 dmp 了的话再更新上来 |
今天自动更新先是没下载全就启动更新报错不完整, 然后我手动下载安装后开始带着应用疯狂崩溃, 哪个程序在前台哪个程序就崩溃,一个崩溃完下一个崩直到啥都没有留下个纯色背景给我。。。感觉这玩意我用了得有快十年了,只有算法服务崩溃过,没有在dll里出现过这么严重的问题。 |
从0.14.3升上来的吗?系统位数等信息可以提供下?安装后有重启吗? |
运行环境:wind11_x64 |
这个详细展开下?有不少网友都有用这个方案集,未听他们说这么明显的不可用问题。 |
抱歉,确认是我乌龙了, |
我之前是习惯通过脚本拉取更新,手动操作都是通过 everything 快速搜索结果来执行,因此没能及时发现文件目录变更,可能是出现了引用旧版的快捷键导致错误,重新更新了路径脚本也一切正常了
|
你 都用git了,其实可以直接fetch到用户目录下,定期fetch & rebase 就行了,你个人修改的东西可以在custom里即可 另外安装目录不建议用这样写死的,而是用用户目录注册表读出来会更好 rem get user data dir
set key=HKEY_CURRENT_USER\SOFTWARE\Rime\Weasel
set name=RimeUserDir
for /f "tokens=2*" %%a in ('reg query "%key%" /v "%name%"') do set rime_dir=%%b |
我这边之前的崩溃情况也是这样…… |
Nah.. I can not see the dmp files: I guess it's because the weasel server itself didn't carsh, only makes other apps to crash Orz And with the server running, all my applications (including Explorer) would crash. (I'm writing in English because my server is killed, ha... ) |
Also, this time I checked the encoding of Is there any else information I can provide? |
可以先卸载完整旧的安装,确保系统中没有weasel.dll,weaselserver.exe,再安装0.16.1 对于64位Windows,weasel.dll通常是在C:\Windows\System32下和C:\Windows\SystemWOW64下 通常如果服务会让应用崩,是ipc没有对齐引起的,旧的tsf dll搭新的server,或者旧的server搭新的tsf dll都有可能引起这样的情况。 |
我的天……终于正常了! 我整理一下经验放到主楼里,in case 其他人也需要。 |
下次发版看能不能解开这个,弹个窗提示重装一下 |
问题很严重,本来从今年3月份的v0.15.0版升级到v0.16.0版没有什么大问题的,但昨天升级到v0.16.1版后完全不能用,weasel服务频繁崩溃,打拼音好像还正常,但只要一按退格键或者Esc键这类控制键就马上崩。更严重的是卸载v0.16.1版装回v0.16.0版都不正常了,一样崩。想不明白之前没问题的怎么会变成有问题了。好吧,我再回退到3月份的v0.15.0版总该可以了吧?崩溃地发现也是一样崩。还有更崩溃的,就是我卸载小狼毫之后连注册表都用rime和weasel来清理过注册表了,甚至是重启后再安装,依然崩溃。 |
之所以升级v0.16.1版是因为我觉得时间间隔这么短就出新版,估计是v0.16.0版有些大问题,也确实是有些问题,例如昨天反复安装、卸载时就反复安装繁体中文语言包。但除此之外,我之前用着不觉得有什么问题,不严重影响使用的小问题可能遇到过。 |
对了,好像发现个问题,就是我现在卸载了小狼毫,只用Win10的微软拼音,它默认变成英文模式,每次要输入中文都要先切换一下。不知道是不是和新版本增加了对英文的支持导致这个问题?而且这个改动是系统级别的,所以即使我装回旧版都受到影响? |
这个更新主要是,这个期间有不少用户反馈服务崩溃的事情,加了守护,加了便捷查问题的wer机制,其他修几个都是防错为主,细节都在发布日志中有。倒不是新增的严重问题要急修。 崩应用请参考下主楼的方式,大多数是旧输入法dll未完整卸载,与新服务进程通信的时候反序列化的时候异常崩溃。 |
英文支持这个,dll里只是用来对应加载菜单资源,不影响应用的locale,我理解是不相关。服务和部署器也是类似,影响的是它们内部资源的调用,不设置系统界面的。 |
Win+s:语言设置 → 中文 → 选项 → 微软输入法 → 选项 → 常规 → 默认模式 → 英语/中文 |
我只有Windows 10环境,一直尝最新的,有问题也发不出来 |
v0.16.0版如果有服务崩溃的问题,因为我在使用时没有感觉异常,所以倒是没有留意到。对我的情况来说应该是没有出现崩溃问题的,因为如果有的话估计会明显影响使用。至于所谓的守护功能我倒是有些看法。首先如果是有问题导致频繁崩溃的话,应该找原因解决问题,频繁崩溃靠简单粗暴的守护不是办法,一样无法使用。其次反而把原来像我这样没有问题的用户都搞成频繁崩溃了。也就是说现在这个v0.16.1版既不能解决原来的问题,还把原来v0.16.0版没问题的都变成有问题。 |
你应该留意到,0.16.1相比0.16.0添加了Windows Error Report的功能,在服务崩溃的时候会在日志目录生成dmp文件,里面包含了崩溃的细节信息。也有专门开一个issue 置顶提供处理报告分析的流程方法,方便用户在出现问题时协助开发提供崩溃的报告信息。 在未有这个WER功能引入之前我是坚决反对守护的,有了就可以保证可用性的前提下,逐步通过dmp的报告检查问题定位解决。 WER和守护,是0.16.1的主要发版原因。 |
没有
|
我试过Windows 10下0.14.3升0.16.1,0.15.0升0.16.1, 0.16.0 升0.16.1都可以正常工作 |
喜大普奔,装回2023年6月6日版的v0.15.0好像没有什么问题。虽然总是想用v0.16.0版,但先不管了,已经耗费了2天时间。最近赶着搞个惊天地泣鬼神的小项目,等搞完再回来折腾这个问题。 |
版本 Nightly Build weasel-0.16.1-8621ed2
|
@fxliang 大神,我今天测试好像发现了问题所在。如果使用默认用户目录的话,好像正常,服务没有崩溃。但我是指定非默认的用户目录的,而且目录路径中有空格(某个目录名中有空格),这时1按Backspace、Escape等控制按键服务就马上崩溃。我猜想有可能反馈崩溃情况的用户都是在安装的时候指定了用户目录,甚至可能目录路径中因为有空格或者中文之类的情况,所以出问题。请检查相关代码,谢谢。 |
我现在试的就是带中文,带空格的路径 你是不是有自用的什么rime.dll或者lua插件? |
又排查了一下,貌似是因为我的方案中引入了「预言功能」,屏蔽了相关条目就正常了。。。这才发现v0.16.0版软件目录的data目录中没有predict.db文件?v0.16.0版不是自带这个文件的吗? |
是服务崩还是应用崩 |
我的情况是weasel服务崩,还好应用只是假死10秒左右,等weasel服务彻底消失后会回过气来。我现在重新下载predict.db文件放在用户目录之后,好像就一切都正常了,连预言功能都可以用了。不过暂时打算先用着v0.16.0版,因为v0.16.1版不好的地方是会强行起服务,我觉得这样更不利于调试,我手动关闭服务它也会自动启动。另外,估计v0.16.0版本说崩的人,有可能是因为安装目录从Program Files (x86)变成Program Files,有些之前用的个人文件放在旧的安装目录中,新安装目录中没有,就导致崩溃。哦,不对,v0.16.0版还没有改到Program Files目录,但从weasel-0.15.0目录变成weasel-0.16.0目录啊。 |
用户文件为什么要放安装目录。。。用户目录的设置覆盖安装目录的 |
librime-predict 的洞,db加载失败会退格或Esc时引发空指针调用。 |
小白不会C++,只是在微信上面经常看到说现在很多C++的项目转到Rust,连Windows都用Rust重写,就是因为C++内存不安全,一不小心就会埋雷。 |
语言只是工具,rust也可以写出有问题的代码,不要迷信也不要被话术蒙了双眼。现有C++项目用rust重写可能新写一堆bug(毕竟改动量很可能很大),然后会rust的开发却远没会C++的多,目前来看我觉得是得不偿失的。 |
Hi - I'm a software engineer working on Firefox, and we are also getting reports of similar-looking crashes with Rime 0.16.1. Our bug tracking this is bug 1905107, and here is a sample crash report. I was able to get what I think is a fully-resolved call stack. What seems to be happening is during shutdown, I have pasted a full call stack below. Please let me know if there is other information I can provide to help track down what's going on here. Thank you!
|
are there any simple ways to reproduce this ? |
Unfortunately I haven't been able to reproduce this - I've installed 0.16.1 and tried making some changes to Firefox to make it exit in a similar manner as the crash report, but it doesn't crash for me. I'll keep trying a few things though. |
@fxliang - Thanks! Do you know when this will be in a numbered release? We're still seeing fairly high crash volume on [our bug] |
we tried to add async task to avoid some overtime issues since 0.16.0, however it seems not OK in some cases. maybe there is still a pr to reverse this. maybe later next month, I think. |
最近发现我的 WeaselServer 也会崩溃,试了最新的 nightly (0.16.1.41.9275283) 也有问题,但是调试符号没覆盖到 rime.dll,stack 看不出来具体是什么原因:
不清楚为什么是 AcLayers.dll,确认了 WeaselServer.exe 没有开任何兼容性选项。但是看 stack 的话应该和上面的问题都不太一样。 这种问题只能我自己编译一份跑起来看看么。 edit: 除了崩溃之外,有的时候其他应用可能也会被卡死,只能砍掉应用或者找到应用里某个卡住的线程取消 pending I/O 解决。前两次忘了看卡住的线程的 stack,但是一般第三方应用卡死也不太好进去调试。 |
试用librime nightly,里面有rime.pdb,下次崩的时候等崩完了看日志目录生成的dmp文件就可以。 你这个可能是后端的问题 |
安装目录的注册表路径有问题 rem 检查是否在 64 位操作系统上运行
if defined ProgramFiles(x86) (
echo 这是一个 64 位操作系统。
set deploy_key=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Rime\Weasel
) else (
echo 这是一个 32 位操作系统。
set deploy_key=HKEY_LOCAL_MACHINE\SOFTWARE\Rime\Weasel
) |
不直接更改 |
InstallDir是个什么鬼... |
置顶结论:
我是从 0.15.0 更新上来的,安装之后所有的程序都会崩溃闪退。

遇到这种情况的时候,
Ctrl+Shfit+Esc
打开任务管理器(不要切换输入法!不然它也会闪退!)把里面的「小狼毫算法服务」(weaselserver.exe)终止掉
然后运行新任务,输入
explorer.exe
,可以让资源管理器回来。修复的方案(对我而言)是这样:
C:\Windows\System32
文件夹,删除里面的weasel.dll
和weasel.ime
文件上报前请检查
操作系统信息
描述遇到的问题
在之前安装有 0.15.0 的情况下,安装了 0.16.1,然后系统开始疯狂崩溃。
各种应用程序(例如QQ)包括 Explorer 都会报错闪退,相关模块显示的是
weasel.dll
。(因为系统那时候崩了,没法截图)
复现步骤
感觉是「小狼毫算法服务」引起的,注销后进入系统的一小段时间是正常,然后就开始出现这种崩溃情况。
如果不调用输入法在任务管理器把算法服务进程结束,可以恢复到正常。
事后查看崩溃日志:

尝试过把原来的 weasel 0.15.0 文件夹删除,以排除「两个算法服务」的问题,但是没有。
吧 weasel 0.16.1 删除之后才行。
预期行为
不该这么崩溃的。
The text was updated successfully, but these errors were encountered: