rime / weasel

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

0.16.1 版本各种崩溃 #1286

Open Moyf opened 1 month ago

Moyf commented 1 month ago

置顶结论:

我是从 0.15.0 更新上来的,安装之后所有的程序都会崩溃闪退。 遇到这种情况的时候,Ctrl+Shfit+Esc 打开任务管理器(不要切换输入法!不然它也会闪退!) 把里面的「小狼毫算法服务」(weaselserver.exe)终止掉 image

然后运行新任务,输入 explorer.exe,可以让资源管理器回来。

修复的方案(对我而言)是这样:

  1. 先卸载老版本 Rime,记得做好文件备份
  2. 进入 C:\Windows\System32 文件夹,删除里面的 weasel.dllweasel.ime文件
  3. 重新安装小狼毫 0.16.1
  4. 重启

上报前请检查

操作系统信息

描述遇到的问题 在之前安装有 0.15.0 的情况下,安装了 0.16.1,然后系统开始疯狂崩溃。 各种应用程序(例如QQ)包括 Explorer 都会报错闪退,相关模块显示的是 weasel.dll。 (因为系统那时候崩了,没法截图)

复现步骤 感觉是「小狼毫算法服务」引起的,注销后进入系统的一小段时间是正常,然后就开始出现这种崩溃情况。 如果不调用输入法在任务管理器把算法服务进程结束,可以恢复到正常。

事后查看崩溃日志: image

尝试过把原来的 weasel 0.15.0 文件夹删除,以排除「两个算法服务」的问题,但是没有。 吧 weasel 0.16.1 删除之后才行。

预期行为 不该这么崩溃的。

Moyf commented 1 month ago

另外,我有使用一些 Lua 脚本和 OpenCC,这些在 0.15 版本是正常运作的。

fxliang commented 1 month ago
[0.16.1](https://github.com/rime/weasel/compare/0.16.0...0.16.1) (2024-06-06)
安裝須知
⚠️如您由0.16.0之前的版本升級,由於參數變化,安裝小狼毫前請保存好文件資料,於安裝後重啓或註銷 Windows,否則正在使用小狼毫的應用可能會崩潰。

⚠如您由0.16.0之前的版本升級,請確認您的 installation.yaml 文件編碼爲 UTF-8, 否則如您在其中修改了非 ASCII 字符內容的路徑時,有可能會引起未明錯誤。

算法服务崩溃错误报告dmp文件使用简易说明 #1259

jmui114 commented 1 month ago

我昨天刚卸载0.15.0重启系统然后安装0.16.0,再git雾凇拼音配置部署使用,从稳定性及响应速度感觉都有明显提升。

今天发现有新版本之后,也是先卸载旧版本重启系统再装新版本0.16.1,但是安装完成发现无法重新部署(部署操作不生效),任务栏也没有正常部署时的那个“沙漏”⌛图标。无论是从系统开始菜单点击的“重新部署”,还是使用脚本命令均无法正常部署。

卸载0.16.1版本退回0.16.0版本后,一切操作均正常(不知道我这种情况是不是个例)

Microsoft Windows 版本23H2(OS内部版本22631.3447)

Moyf commented 1 month ago
[0.16.1](https://github.com/rime/weasel/compare/0.16.0...0.16.1) (2024-06-06)
安裝須知
⚠️如您由0.16.0之前的版本升級,由於參數變化,安裝小狼毫前請保存好文件資料,於安裝後重啓或註銷 Windows,否則正在使用小狼毫的應用可能會崩潰。

⚠如您由0.16.0之前的版本升級,請確認您的 installation.yaml 文件編碼爲 UTF-8, 否則如您在其中修改了非 ASCII 字符內容的路徑時,有可能會引起未明錯誤。

算法服务崩溃错误报告dmp文件使用简易说明 #1259

是 UTF-8 编码的;反复崩溃后我注销了好几次,问题依然存在。 以及 dmp 文件的话,我在在 logs 文件夹内没有看到 dmp,只有 log 文件 🤔

回头我再试一下,有 dmp 了的话再更新上来

RightFS commented 1 month ago

今天自动更新先是没下载全就启动更新报错不完整, 然后我手动下载安装后开始带着应用疯狂崩溃, 哪个程序在前台哪个程序就崩溃,一个崩溃完下一个崩直到啥都没有留下个纯色背景给我。。。感觉这玩意我用了得有快十年了,只有算法服务崩溃过,没有在dll里出现过这么严重的问题。

fxliang commented 1 month ago

今天自动更新先是没下载全就启动更新报错不完整, 然后我手动下载安装后开始带着应用疯狂崩溃, 哪个程序在前台哪个程序就崩溃,一个崩溃完下一个崩直到啥都没有留下个纯色背景给我。。。感觉这玩意我用了得有快十年了,只有算法服务崩溃过,没有在dll里出现过这么严重的问题。

从0.14.3升上来的吗?系统位数等信息可以提供下?安装后有重启吗?

jmui114 commented 1 month ago

今天自动更新是先下载全就启动更新报错不完整,然后我手动下载安装后开始带着应用疯狂崩溃,一个崩溃完之后直到留下一个纯色背景给我。。。感觉这玩意我用了得有十年了,算法服务崩溃了,没有在dll里出现过这么严重的问题。

从0.14.3升上来的吗?系统位数等信息可以吗?安装后有重启吗?

运行环境:wind11_x64 硬件配置:AMD 5600G + 32G内存+500G固态 操作流程:卸载旧版本 → 重启电脑 → 安装新版本 → git https://github.com/iDvel/rime-ice 配置部署 → 输入测试 → 确认配置方案生效正常工作。 细节说明: 一、一直使用的都是0.15.0,0.16.0出来的当天,执行上述操作流程,0.16.0版本稳定完美使用。 二、0.16.1版本出来当天,同样是按上述操作流程执行,反复卸载安装试了三遍,都是无法正常“重新部署”,自己的个人配置无法触发生效。 三、卸载0.16.1版本,按上述操作流程安装0.16.0版本,依旧可以一次性完美稳定使用。

fxliang commented 1 month ago

都是无法正常“重新部署”,自己的个人配置无法触发生效。

这个详细展开下?有不少网友都有用这个方案集,未听他们说这么明显的不可用问题。

jmui114 commented 1 month ago

都是无法正常“重新部署”,自己的个人配置无法触发生效。

这个详细展开下?有不少网友都有用这个方案集,未听他们说这么明显的不可用问题。

抱歉,确认是我乌龙了,rime的默认安装目录从Program Files (x86)更改为Program Files,但会有残留文件夹留存,我找错地方才导致的一系列乌龙,我修改了一些路径就一切都正常了

jmui114 commented 1 month ago

都是无法正常“重新部署”,自己的个人配置无法触发生效。

这个详细展开下?有不少网友都有用这个方案集,未听他们说这么明显的不可用问题。

抱歉,确认是我乌龙了,rime的默认安装目录从Program Files (x86)更改为Program Files,但会有残留文件夹留存,我找错地方才导致的一系列乌龙,我修改了一些路径就一切都正常了

我之前是习惯通过脚本拉取更新,手动操作都是通过 everything 快速搜索结果来执行,因此没能及时发现文件目录变更,可能是出现了引用旧版的快捷键导致错误,重新更新了路径脚本也一切正常了

    setlocal enabledelayedexpansion
    REM 定义Rime输入法的数据目录
    set RIME_DATA_PATH=D:\Program Files\Rime\weasel-0.16.1\data
    REM 定义克隆的临时目录
    set TEMP_CLONE_DIR=D:\Temp\rime-ice

    REM 清理旧的克隆目录
    if exist "%TEMP_CLONE_DIR%" rmdir /s /q "%TEMP_CLONE_DIR%"
    REM 克隆仓库
    git clone https://github.com/iDvel/rime-ice.git "%TEMP_CLONE_DIR%"

    REM 复制文件
    xcopy /s /e /h /y "%TEMP_CLONE_DIR%\*.*" "%RIME_DATA_PATH%"

    REM 删除临时克隆目录
    rmdir /s /q "%TEMP_CLONE_DIR%"

    REM 执行更新部署命令
    call "D:\Program Files\Rime\weasel-0.16.1\WeaselDeployer.exe" /deploy

    REM 更新完毕
    echo Done.
    endlocal

    REM 0.16.1版本开始,默认目录不再是x86
fxliang commented 1 month ago

都是无法正常“重新部署”,自己的个人配置无法触发生效。

这个详细展开下?有不少网友都有用这个方案集,未听他们说这么明显的不可用问题。

抱歉,确认是我乌龙了,rime的默认安装目录从Program Files (x86)更改为Program Files,但会有残留文件夹留存,我找错地方才导致的一系列乌龙,我修改了一些路径就一切都正常了

我之前是习惯通过脚本拉取更新,手动操作都是通过 everything 快速搜索结果来执行,因此没能及时发现文件目录变更,可能是出现了引用旧版的快捷键导致错误,重新更新了路径脚本也一切正常了

    setlocal enabledelayedexpansion
    REM 定义Rime输入法的数据目录
    set RIME_DATA_PATH=D:\Program Files\Rime\weasel-0.16.1\data
    REM 定义克隆的临时目录
    set TEMP_CLONE_DIR=D:\Temp\rime-ice

    REM 清理旧的克隆目录
    if exist "%TEMP_CLONE_DIR%" rmdir /s /q "%TEMP_CLONE_DIR%"
    REM 克隆仓库
    git clone https://github.com/iDvel/rime-ice.git "%TEMP_CLONE_DIR%"

    REM 复制文件
    xcopy /s /e /h /y "%TEMP_CLONE_DIR%\*.*" "%RIME_DATA_PATH%"

    REM 删除临时克隆目录
    rmdir /s /q "%TEMP_CLONE_DIR%"

    REM 执行更新部署命令
    call "D:\Program Files\Rime\weasel-0.16.1\WeaselDeployer.exe" /deploy

    REM 更新完毕
    echo Done.
    endlocal

    REM 0.16.1版本开始,默认目录不再是x86

你 都用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
Moyf commented 1 month ago

今天自动更新先是没下载全就启动更新报错不完整, 然后我手动下载安装后开始带着应用疯狂崩溃, 哪个程序在前台哪个程序就崩溃,一个崩溃完下一个崩直到啥都没有留下个纯色背景给我。。。感觉这玩意我用了得有快十年了,只有算法服务崩溃过,没有在dll里出现过这么严重的问题。

我这边之前的崩溃情况也是这样…… 打算待会儿再尝试一下,哈哈

Moyf commented 1 month ago
[0.16.1](https://github.com/rime/weasel/compare/0.16.0...0.16.1) (2024-06-06)
安裝須知
⚠️如您由0.16.0之前的版本升級,由於參數變化,安裝小狼毫前請保存好文件資料,於安裝後重啓或註銷 Windows,否則正在使用小狼毫的應用可能會崩潰。

⚠如您由0.16.0之前的版本升級,請確認您的 installation.yaml 文件編碼爲 UTF-8, 否則如您在其中修改了非 ASCII 字符內容的路徑時,有可能會引起未明錯誤。

算法服务崩溃错误报告dmp文件使用简易说明 #1259

Nah.. I can not see the dmp files: image

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. Only after killing the "xiao lang hao suan fa fu wu", the crashes stops.

(I'm writing in English because my server is killed, ha... )

Moyf commented 1 month ago
[0.16.1](https://github.com/rime/weasel/compare/0.16.0...0.16.1) (2024-06-06)
安裝須知
⚠️如您由0.16.0之前的版本升級,由於參數變化,安裝小狼毫前請保存好文件資料,於安裝後重啓或註銷 Windows,否則正在使用小狼毫的應用可能會崩潰。

⚠如您由0.16.0之前的版本升級,請確認您的 installation.yaml 文件編碼爲 UTF-8, 否則如您在其中修改了非 ASCII 字符內容的路徑時,有可能會引起未明錯誤。

算法服务崩溃错误报告dmp文件使用简易说明 #1259

Nah.. I can not see the dmp files: image

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. Only after killing the "xiao lang hao suan fa fu wu", the crashes stops.

(I'm writing in English because my server is killed, ha... )

Also, this time I checked the encoding of installation.yaml is UTF-8, and after installing I reboot my computer. Still encounter this issue.

Is there any else information I can provide?

fxliang commented 1 month ago

可以先卸载完整旧的安装,确保系统中没有weasel.dll,weaselserver.exe,再安装0.16.1

对于64位Windows,weasel.dll通常是在C:\Windows\System32下和C:\Windows\SystemWOW64下

通常如果服务会让应用崩,是ipc没有对齐引起的,旧的tsf dll搭新的server,或者旧的server搭新的tsf dll都有可能引起这样的情况。

Moyf commented 1 month ago

可以先卸载完整旧的安装,确保系统中没有weasel.dll,weaselserver.exe,再安装0.16.1

对于64位Windows,weasel.dll通常是在C:\Windows\System32下和C:\Windows\SystemWOW64下

通常如果服务会让应用崩,是ipc没有对齐引起的,旧的tsf dll搭新的server,或者新的server搭旧的tsf dll都有可能引起这样的情况。

我的天……终于正常了! 先删除了 C:\Windows\System32 里的 weasel.dll 和 weasel.ime 文件,然后重新安装了一次 Rime 0.16.1,然后重启,这次不会疯狂闪退了。

我整理一下经验放到主楼里,in case 其他人也需要。

fxliang commented 1 month ago

下次发版看能不能解开这个,弹个窗提示重装一下

Moyf commented 1 month ago

下次发版看能不能解开这个,弹个窗提示重装一下

主要是我之前一直是相当于「绿色版安装」,重装完系统都是直接重新运行一下这里的WeaselSetup.exe,提示「可以用小狼毫打字了!」就完成安装了: image

不知道是不是因为这个,导致安装新版的时候没能完成「卸载老版本」的操作。

Lantaio commented 1 month ago

问题很严重,本来从今年3月份的v0.15.0版升级到v0.16.0版没有什么大问题的,但昨天升级到v0.16.1版后完全不能用,weasel服务频繁崩溃,打拼音好像还正常,但只要一按退格键或者Esc键这类控制键就马上崩。更严重的是卸载v0.16.1版装回v0.16.0版都不正常了,一样崩。想不明白之前没问题的怎么会变成有问题了。好吧,我再回退到3月份的v0.15.0版总该可以了吧?崩溃地发现也是一样崩。还有更崩溃的,就是我卸载小狼毫之后连注册表都用rime和weasel来清理过注册表了,甚至是重启后再安装,依然崩溃。 我想问现在的小狼毫还支持老旧的Win10吗?Windows 10 企业版 LTSC 10.0.17763,系统有点老旧,从2021年6月开始禁止系统自动更新。但之前一直好好的啊。置顶帖子的方法试过了,没用,问题不是这么简单,至少对我的Win10没有帮助,卸载后在那2个目录里已经没有任何weasel文件了。 还有个问题,服务崩溃自动重启这种做法可能没问题,但怎么我在任务栏图标的右键菜单手动退出服务,它也会按3个字符后自动启动呢?我退出,它启动,我退出,它启动。。。它没有崩溃,我崩溃了。 我现在最迫切想知道能不能回退到之前的某个版本?去年6月的v0.15.0版?感觉有点老旧。但想不明白怎么连想回退到今年3月的v0.15.0版都会像感染了传染病一样?还有就是发现Tag里面之前所有的v0.15.0的后续beta版都被删除了?我最希望可以回退到v0.16.0版,因为这个版本加入了预言功能,我正在测试并想提一些建议的。 最后,今早也试了v0.16.1-369834c版,没有惊喜。

Lantaio commented 1 month ago

之所以升级v0.16.1版是因为我觉得时间间隔这么短就出新版,估计是v0.16.0版有些大问题,也确实是有些问题,例如昨天反复安装、卸载时就反复安装繁体中文语言包。但除此之外,我之前用着不觉得有什么问题,不严重影响使用的小问题可能遇到过。

Lantaio commented 1 month ago

对了,好像发现个问题,就是我现在卸载了小狼毫,只用Win10的微软拼音,它默认变成英文模式,每次要输入中文都要先切换一下。不知道是不是和新版本增加了对英文的支持导致这个问题?而且这个改动是系统级别的,所以即使我装回旧版都受到影响?

fxliang commented 1 month ago

之所以升级v0.16.1版是因为我觉得时间间隔这么短就出新版,估计是v0.16.0版有些大问题,也确实是有些问题,例如昨天反复安装、卸载时就反复安装繁体中文语言包。但除此之外,我之前用着不觉得有什么问题,不严重影响使用的小问题可能遇到过。

这个更新主要是,这个期间有不少用户反馈服务崩溃的事情,加了守护,加了便捷查问题的wer机制,其他修几个都是防错为主,细节都在发布日志中有。倒不是新增的严重问题要急修。

崩应用请参考下主楼的方式,大多数是旧输入法dll未完整卸载,与新服务进程通信的时候反序列化的时候异常崩溃。

fxliang commented 1 month ago

对了,好像发现个问题,就是我现在卸载了小狼毫,只用Win10的微软拼音,它默认变成英文模式,每次要输入中文都要先切换一下。不知道是不是和新版本增加了对英文的支持导致这个问题?而且这个改动是系统级别的,所以即使我装回旧版都受到影响?

英文支持这个,dll里只是用来对应加载菜单资源,不影响应用的locale,我理解是不相关。服务和部署器也是类似,影响的是它们内部资源的调用,不设置系统界面的。

jmui114 commented 1 month ago

对了,好像发现个问题,就是我现在卸载了小狼毫,只用Win10的微软拼音,它默认变成英文模式,每次要输入中文都要先切换一下。不知道是不是和新版本增加了对英文的支持导致这个问题?而且这个改动是系统级别的,所以即使我装回旧版都受到影响?

Win+s:语言设置 → 中文 → 选项 → 微软输入法 → 选项 → 常规 → 默认模式 → 英语/中文

fxliang commented 1 month ago

问题很严重,本来从今年3月份的v0.15.0版升级到v0.16.0版没有什么大问题的,但昨天升级到v0.16.1版后完全不能用,weasel服务频繁崩溃,打拼音好像还正常,但只要一按退格键或者Esc键这类控制键就马上崩。更严重的是卸载v0.16.1版装回v0.16.0版都不正常了,一样崩。想不明白之前没问题的怎么会变成有问题了。好吧,我再回退到3月份的v0.15.0版总该可以了吧?崩溃地发现也是一样崩。还有更崩溃的,就是我卸载小狼毫之后连注册表都用rime和weasel来清理过注册表了,甚至是重启后再安装,依然崩溃。 我想问现在的小狼毫还支持老旧的Win10吗?Windows 10 企业版 LTSC 10.0.17763,系统有点老旧,从2021年6月开始禁止系统自动更新。但之前一直好好的啊。置顶帖子的方法试过了,没用,问题不是这么简单,至少对我的Win10没有帮助,卸载后在那2个目录里已经没有任何weasel文件了。 还有个问题,服务崩溃自动重启这种做法可能没问题,但怎么我在任务栏图标的右键菜单手动退出服务,它也会按3个字符后自动启动呢?我退出,它启动,我退出,它启动。。。它没有崩溃,我崩溃了。 我现在最迫切想知道能不能回退到之前的某个版本?去年6月的v0.15.0版?感觉有点老旧。但想不明白怎么连想回退到今年3月的v0.15.0版都会像感染了传染病一样?还有就是发现Tag里面之前所有的v0.15.0的后续beta版都被删除了?我最希望可以回退到v0.16.0版,因为这个版本加入了预言功能,我正在测试并想提一些建议的。 最后,今早也试了v0.16.1-369834c版,没有惊喜。

我只有Windows 10环境,一直尝最新的,有问题也发不出来

Lantaio commented 1 month ago

这个更新主要是,这个期间有不少用户反馈服务崩溃的事情,加了守护,加了便捷查问题的wer机制,其他修几个都是防错为主,细节都在发布日志中有。倒不是新增的严重问题要急修。

v0.16.0版如果有服务崩溃的问题,因为我在使用时没有感觉异常,所以倒是没有留意到。对我的情况来说应该是没有出现崩溃问题的,因为如果有的话估计会明显影响使用。至于所谓的守护功能我倒是有些看法。首先如果是有问题导致频繁崩溃的话,应该找原因解决问题,频繁崩溃靠简单粗暴的守护不是办法,一样无法使用。其次反而把原来像我这样没有问题的用户都搞成频繁崩溃了。也就是说现在这个v0.16.1版既不能解决原来的问题,还把原来v0.16.0版没问题的都变成有问题。 还有就是我已经说了,楼主说的解决方法对我的Win10没有帮助,感觉问题不是这么简单。每次卸载重启之后我都检查过,2个目录中都没有任何weasel文件了。现在就是搞不明白回退到v0.16.0版或者最新的v0.15.0版都变成一样的频繁崩溃?而且我都是卸载,重启,检查2个目录没有weasel文件,清理注册表,安装,重启这样来的,都不行。。。 还有1种猜想是如果我是从v0.14.3→v0.15.0→v0.16.0这样升级上来的话,会不会相当于在安装的时候勾选了“安装旧版ime”的选项?也就是说有可能从v0.15.0的某个后续版本开始已经有问题了,但由于我的系统里依然有旧的weasel.ime文件,所以一直用着没有问题?但印象中一直升级上来我都没有勾选“安装旧版ime”的。不过之前倒是遇到过“服务双开导致服务被杀”的问题,难道就是新旧版机制并存导致的? 最后十分感谢 @jmui114 耐心指导,果然这里默认模式变成英文了。但之前是中文的啊,因为有时会添加微软拼音来做测试,以前默认是中文的。所以我觉得v0.16.1版是不是对系统设置会有改动?

fxliang commented 1 month ago

至于所谓的守护功能我倒是有些看法。首先如果是有问题导致频繁崩溃的话,应该找原因解决问题,频繁崩溃靠简单粗暴的守护不是办法,一样无法使用。

你应该留意到,0.16.1相比0.16.0添加了Windows Error Report的功能,在服务崩溃的时候会在日志目录生成dmp文件,里面包含了崩溃的细节信息。也有专门开一个issue 置顶提供处理报告分析的流程方法,方便用户在出现问题时协助开发提供崩溃的报告信息。

在未有这个WER功能引入之前我是坚决反对守护的,有了就可以保证可用性的前提下,逐步通过dmp的报告检查问题定位解决。

WER和守护,是0.16.1的主要发版原因。

fxliang commented 1 month ago

所以我觉得v0.16.1版是不是对系统设置会有改动?

没有

英文支持这个,dll里只是用来对应加载菜单资源,不影响应用的locale,我理解是不相关。服务和部署器也是类似,影响的是它们内部资源的调用,不设置系统界面的。

fxliang commented 1 month ago

还有1种猜想是如果我是从v0.14.3→v0.15.0→v0.16.0这样升级上来的话,会不会相当于在安装的时候勾选了“安装旧版ime”的选项?也就是说有可能从v0.15.0的某个后续版本开始已经有问题了,但由于我的系统里依然有旧的weasel.ime文件,所以一直用着没有问题?但印象中一直升级上来我都没有勾选“安装旧版ime”的。不过之前倒是遇到过“服务双开导致服务被杀”的问题,难道就是新旧版机制并存导致的?

我试过Windows 10下0.14.3升0.16.1,0.15.0升0.16.1, 0.16.0 升0.16.1都可以正常工作

Lantaio commented 1 month ago

喜大普奔,装回2023年6月6日版的v0.15.0好像没有什么问题。虽然总是想用v0.16.0版,但先不管了,已经耗费了2天时间。最近赶着搞个惊天地泣鬼神的小项目,等搞完再回来折腾这个问题。 刚看了一下,这个版本在System32目录和SysWOW64目录放了weasel.dll和weasel.ime文件,安装的时候没有“安装旧版IME”选项,估计是默认新旧方式并存?我这个小白就不知道实际使用的时候是用新的还是用旧的了。

YanjunLee commented 4 weeks ago

版本 Nightly Build weasel-0.16.1-8621ed2 软件关闭时崩溃,只发生在软件关闭时。

PixPin_2024-06-17_11-06-27 PixPin_2024-06-17_11-07-06

Report for i_view32.exe.17012.dmp

Type of Analysis Performed Crash Analysis 
Machine Name WORK 
Operating System Windows 10 - 19044 
Number Of Processors 12 
Process ID 17012 
Process Image D:\tools\IrfanView\i_view32.exe 
Command Line "D:\tools\IrfanView\i_view32.exe" "1.jpg" 
System Up-Time 00:00:00 
Process Up-Time 00:00:08 
Processor Type X86 
Process Bitness 32-Bit 

Faulting Thread

    Arg 1

    Arg 2

    Arg 3

    Arg 4

  Source

ntdll!TppRaiseInvalidParameter+37     ac5ffe5     0000000     07d9ff8     019fa38    
ntdll!TpAllocWork+5c3f9     019f8d0     21502a5     07d9ff8     0000000    
kernel32!CreateThreadpoolWorkStub+19     21502a5     07d9ff8     0000000     07d9ff8    
weasel!boost::archive::detail::iserializer<boost::archive::text_wiarchive,weasel::UIStyle>::load_object_data+1ed4d     07d9ff8     0000014     07a1150     06c1788    
weasel!DllUnregisterServer+2335     211e6d0     07d1538     7977639     0000000    
weasel!DllUnregisterServer+3361     07d1538     21a8870     79776c1     0777ac0    
weasel!boost::archive::codecvt_null<wchar_t>::do_always_noconv+2f6d     0777ac0     07d1538     797769d     0777b68    
weasel!boost::archive::codecvt_null<wchar_t>::do_always_noconv+2b12     0777ac0     0000000     0000000     0000000    
weasel!boost::archive::codecvt_null<wchar_t>::do_always_noconv+25c7     0000000     79775ed     0795928     000003b    
weasel!boost::archive::codecvt_null<wchar_t>::do_always_noconv+a0b     0777ac0     797758d     07b2bc0     0795928    
weasel!DllUnregisterServer+3fcc     000800c     0000000     800001c     7977455    
weasel+5ff4     0000001     019fb80     681e3d2     0795940    
weasel!DllUnregisterServer+1590     0795940     9563f66     07815c0     07815c0    
msctf!CThreadInputMgr::_OnThreadFocus+366a5     0000000     0000000     07815c0     0000000    
msctf!CThreadInputMgr::Suspend+a2     95638e2     0000000     0000000     07815c0    
msctf!CThreadInputMgr::OnActivationChange+7e     95638ba     0000000     67ff460     0780ea0    
msctf!CThreadInputMgr::Deactivate+55     07815c0     0732dd0     0780ea0     67e4d50    
msctf!CicBridge::DeactivateIMMX+127     0732dd0     07815c0     0000000     0780ea0    
msctf!CicBridge::~CicBridge+4b     0780ea0     019fcc8     67e4d44     0000001    
msctf!CicBridge::`vector deleting destructor'+d     0000001     072a7f4     0732dd0     67e4d10    
msctf!CicBridge::Release+34     0780ea0     0002ad0     0000015     67ffe17    
msctf!TLS::InternalDestroyTLS+3a     07252d8     67fffc5     95639c2     0000015    
msctf!TF_UninitThreadSystem+20     95639c2     0000015     07252d8     072a7f4    
msctf!CicFlsCallback+35     [0](mhtml:file://D:\Lee\Documents\DebugDiag\Reports\i_view32.exe.17012_CrashHangAnalysis.mht#FaultingThreadB1C1)19f468     0286000     0000000     0289000    
ntdll!RtlpFlsDataCleanup+a8     0000001     ac5faad     77b5b40     0000000    
ntdll!LdrShutdownProcess+be     0000001     0000000     0286000     24e0000    
ntdll!RtlExitUserProcess+b5     0000000     7e8f3b0     fffffff     019ff70    
kernel32!ExitProcessImplementation+12     0000000     04d929a     04df289     0000000    
i_view32+df341     0000000     0000000     0000000     04d9382    
i_view32+df289     4680055     4004db1     00000a1     9645000    
0x2ae868ff     4004db1     00000a1     9645000     0000025    
0x24680055     00000a1     9645000     0000025     8ec8300    
0x64004db1     9645000     0000025     8ec8300     9575653    

CLR Information

Exception Information

In i_view32.exe.17012.dmp the assembly instruction at ntdll!TppRaiseInvalidParameter+37 in C:\Windows\System32\ntdll.dll from Microsoft Corporation has caused an unknown exception (0xc000000d) on thread 0

Module Information 

Image Name: C:\Windows\System32\ntdll.dll   Symbol Type:  PDB 
Base address: 0x00905a4d   Time Stamp:  Thu Jul 25 01:00:22 2052  
Checksum: 0x00000000   Comments:   
COM DLL: False   Company Name:  Microsoft Corporation 
ISAPIExtension: False   File Description:  NT Layer DLL 
ISAPIFilter: False   File Version:  10.0.19041.1006 (WinBuild.160101.0800) 
Managed DLL: False   Internal Name:  ntdll.dll 
VB DLL: False   Legal Copyright:  ? Microsoft Corporation. All rights reserved. 
Loaded Image Name:  ntdll.dll   Legal Trademarks:   
Mapped Image Name:  c:\symbols\ntdll.dll\9B4C0FA61a4000\ntdll.dll   Original filename:  ntdll.dll 
Module name:  ntdll   Private Build:   
Single Threaded:  False   Product Name:  Microsoft? Windows? Operating System 
Module Size:  1.64 MBytes   Product Version:  10.0.19041.1006 
Symbol File Name:  c:\symbols\wntdll.pdb\0C832CC8D76FB9C73EFB2270EC571CFB1\wntdll.pdb   Special Build:  &

Report for TOTALCMD64.EXE(1).2924.dmp

Type of Analysis Performed Crash Analysis 
Machine Name WORK 
Operating System Windows 10 - 19044 
Number Of Processors 12 
Process ID 2924 
Process Image D:\tools\TotalCommander\TOTALCMD64.EXE 
Command Line "D:\Tools\TotalCommander\TOTALCMD64.EXE"  
System Up-Time 00:00:00 
Process Up-Time 08:39:59 
Processor Type X64 
Process Bitness 64-Bit 

Faulting Thread

    Arg 1

    Arg 2

    Arg 3

    Arg 4

  Source

KERNELBASE!RaiseException+69     0000000`15c4edb0     0000000`00000053     0000000`00083540     0000000`00000001    
dxgi!CDXGIFactory::FinalRelease+2909c     0000000`15d89c70     0007ff8`48400000     0000000`15d89c70     0000000`00000010    
dxgi!ATL::CComObject<CDXGIFactory>::~CComObject<CDXGIFactory>+bc     0000000`0bdd7f90     0000000`00000010     0000000`00000000     0000000`00000000    
dxgi!ATL::CComObject<CDXGIFactory>::`vector deleting destructor'+14     0000000`00000000     0007ff8`41a52f90     0000000`00000010     0000000`1244d5a0    
dxgi!ATL::CComObject<CDXGIFactory>::Release+63     0000000`12444080     0000000`00000000     0000000`1247d438     0000000`1247e398    
d2d1!RefCountedObject<CDXGIAdapter,LockingRequired,DeleteOnZeroReference>::`vector deleting destructor'+4a     0000000`00000000     0000000`00000000     0000000`1244d6e0     0007ff8`487b47b1    
d2d1!RefCountedObject<CDXGIAdapter,LockingRequired,DeleteOnZeroReference>::Release+31     0000000`00000000     0000000`00000000     0000000`00000000     0000000`ffffffff    
d2d1!SafeRelease<BitmapRealization>+25     0000000`0504ba10     0000000`00000000     0000000`00000000     0000000`0504ba30    
d2d1!`vector destructor iterator'+3b     0000000`0504ba10     0000000`00000000     0000000`00000000     0000000`ffffffff    
d2d1!D2DFactory::~D2DFactory+10b     0000000`00000001     0000000`ffffffff     0000000`0504ba30     0000000`0504ba30    
d2d1!RefCountedObject<D2DFactoryLocking<MultiThreadedTrait>,LockingRequired,DeleteOnZeroReference>::`vector deleting destructor'+14     0000000`00000000     0000000`00000000     0000000`00000000     0007ff8`45e8955f    
d2d1!RefCountedObject<D2DFactoryLocking<MultiThreadedTrait>,LockingRequired,DeleteOnZeroReference>::Release+3a     0000000`03029290     acbe60d`4d7ba680     0000000`00000000     0007ff8`47009ebb    
weasel!boost::archive::detail::iserializer<boost::archive::text_wiarchive,weasel::UIStyle>::load_object_data+a392     0000000`02fe8240     0000000`00000001     0000000`02fe8240     0000000`00000000    
weasel!boost::archive::detail::iserializer<boost::archive::text_wiarchive,weasel::UIStyle>::load_object_data+35a8     0000000`00000000     0000000`0bdd68c0     0000000`02fe8240     0000000`0000008e    
weasel!boost::archive::detail::iserializer<boost::archive::text_wiarchive,weasel::UIStyle>::load_object_data+b7e     0000000`0be54d50     0000000`00000000     0000000`00000000     0000000`00000000    
weasel!DllUnregisterServer+10d7     0000000`032510b0     0000000`0bd03ad0     0000000`00000001     0000000`00000020    
msctf!CThreadInputMgr::_DeactivateTip+e8     0000000`0bd03ad0     0000000`15e59eb0     0000000`0bd03ad0     0000000`41eeb1e9    
msctf!CThreadInputMgr::ActivateInputProfile+305b7     0000000`00000000     0000000`0bd03ad0     0000000`00000000     0000000`15e59ec8    
msctf!CThreadInputMgr::OnCleanupContextsEnded+ad     0000000`0be45600     0000000`00000000     0000000`03251200     0000000`00000000    
msctf!CCleanupShared::Release+56     0000000`02feadd0     0000000`01e3f200     0000000`03251200     0000000`0be45600    
msctf!CThreadInputMgr::_CleanupContexts+11f     0000000`0bddb8a0     0000000`01e3f200     0000000`00000000     0000000`000f09ba    
msctf!TF_Notify+60e     0000000`021bc708     0000000`00000000     0000000`00000000     0000000`0211d256    
user32!CtfHookProcWorker+20     0000000`00000001     0000000`00000000     0000000`00000000     0000000`00000001    
user32!CallHookWithSEH+29     0000000`002e0800     0000000`0211d410     0000000`01e3f178     0000000`025fd200    
user32!_fnHkINDWORD+1e     0000000`021cd990     0000000`00000003     0000000`025cae00     0000000`0220168d    
ntdll!KiUserCallbackDispatcherContinue     0000000`02214f71     0000000`000f09ba     0000000`025aa501     0000000`0246adb0    
win32u!NtUserDestroyWindow+14     0000000`000f09ba     0000000`025aa501     0000000`0246adb0     0000000`025cae00    
PEViewer!_dbk_fcall_wrapper+ec3d1     0000000`025aa550     0000000`025caed8     0000000`025aa550     0000000`025cae00    
PEViewer!_dbk_fcall_wrapper+261039     0000000`025b4a80     0000000`0236d11e     0000000`00000001     0000000`00000000    
PEViewer!_dbk_fcall_wrapper+27278c     0000000`025f5c68     0000000`0242c340     0000000`01e3f4c0     0000000`023863d8    
PEViewer+c538     0000000`02376e50     0000000`023863d8     0000000`025f5d88     0000000`0242c340    
PEViewer!_dbk_fcall_wrapper+24939d     0000000`0245c998     0000000`02111378     0000000`00000012     0000000`00000000    
PEViewer!_dbk_fcall_wrapper+24c6c6     0000000`00000000     0000000`00000000     0000000`00000000     0000000`00000000    
PEViewer+e9d5     0000000`0a3b4f88     0000000`0a3a94f2     0000000`0000020a     0000000`00000000    
PEViewer+f2ad     0000000`0bdd0101     0000000`039c5b00     0000000`000000b1     0007ff8`97000394    
PEViewer+ebf1     0000000`001e49c1     0000000`15fbbac8     0000000`15fbb090     0000000`15fbbc18    
PEViewer!_dbk_fcall_wrapper+3e9     0000000`15fbbc08     0000000`004158a8     0000000`001e49c1     0000000`15fbbcc8    
PEViewer!ListSetDefaultParams+f5     0000000`0000001c     0007ff8`487fac46     0000000`02110000     0000000`003ce000    
ntdll!LdrpCallInitRoutine+61     0000000`031df990     0000000`02110000     0000000`00000000     0000000`00000000    
ntdll!LdrpProcessDetachNode+107     0000000`02fc4690     0000000`031dfa30     0000000`02fc4690     0000000`00000000    
ntdll!LdrpUnloadNode+3f     0000000`02fc4690     0000000`02fc4690     0000000`01e3f940     0000000`00000000    
ntdll!LdrpDecrementModuleLoadCountEx+72     0000000`00000000     0000000`00000001     0000000`00000000     0000000`0040f32e    
ntdll!LdrUnloadDll+94     0000000`02110000     0007ff8`00000009     0000000`031df990     0000000`00000001    
KERNELBASE!FreeLibrary+1e     0000000`0a12c930     0000000`00000001     0007cd1`e31860a3     0000000`00000000    
TOTALCMD64+6164d6     0000000`00000001     0007cd1`e31860a3     0000000`00000000     0000000`0bca8080    
0x0a12c930     0007cd1`e31860a3     0000000`00000000     0000000`0bca8080     0000000`00000005    
0x00000001     0000000`00000000     0000000`0bca8080     0000000`00000005     0000000`01e3f970    
0x00007cd1`e31860a3     0000000`0bca8080     0000000`00000005     0000000`01e3f970     0000000`008c8546    
Lantaio commented 3 weeks ago

@fxliang 大神,我今天测试好像发现了问题所在。如果使用默认用户目录的话,好像正常,服务没有崩溃。但我是指定非默认的用户目录的,而且目录路径中有空格(某个目录名中有空格),这时1按Backspace、Escape等控制按键服务就马上崩溃。我猜想有可能反馈崩溃情况的用户都是在安装的时候指定了用户目录,甚至可能目录路径中因为有空格或者中文之类的情况,所以出问题。请检查相关代码,谢谢。

fxliang commented 3 weeks ago

我现在试的就是带中文,带空格的路径 D:\Data\Rime\data - 副本,一切正常,应该不是这个问题

你是不是有自用的什么rime.dll或者lua插件?

Lantaio commented 3 weeks ago

又排查了一下,貌似是因为我的方案中引入了「预言功能」,屏蔽了相关条目就正常了。。。这才发现v0.16.0版软件目录的data目录中没有predict.db文件?v0.16.0版不是自带这个文件的吗? 实锤了,原来真的是因为我的方案中引入了「预言功能」,而predict.db文件被我删除了导致的。因为最近Rime的安装目录从Program Files (x86)变为Program Files嘛,我把旧目录删除了,而新目录里面没有predict.db文件,没想到会导致这么严重的问题。不过虽然我引入了「预言功能」,但默认是设置为关闭状态的,所以没想到这也会有影响。

fxliang commented 3 weeks ago

是服务崩还是应用崩

Lantaio commented 3 weeks ago

我的情况是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目录啊。 我想可能有些人不是很清晰区分安装目录和用户目录,又或者觉得把用户自定义方案文件都放在安装目录可以方便多用户环境统一应用更改?

fxliang commented 3 weeks ago

用户文件为什么要放安装目录。。。用户目录的设置覆盖安装目录的

fxliang commented 3 weeks ago

又排查了一下,貌似是因为我的方案中引入了「预言功能」,屏蔽了相关条目就正常了。。。这才发现v0.16.0版软件目录的data目录中没有predict.db文件?v0.16.0版不是自带这个文件的吗? 实锤了,原来真的是因为我的方案中引入了「预言功能」,而predict.db文件被我删除了导致的。因为最近Rime的安装目录从Program Files (x86)变为Program Files嘛,我把旧目录删除了,而新目录里面没有predict.db文件,没想到会导致这么严重的问题。不过虽然我引入了「预言功能」,但默认是设置为关闭状态的,所以没想到这也会有影响。

librime-predict 的洞,db加载失败会退格或Esc时引发空指针调用。

Lantaio commented 3 weeks ago

小白不会C++,只是在微信上面经常看到说现在很多C++的项目转到Rust,连Windows都用Rust重写,就是因为C++内存不安全,一不小心就会埋雷。

fxliang commented 3 weeks ago

小白不会C++,只是在微信上面经常看到说现在很多C++的项目转到Rust,连Windows都用Rust重写,就是因为C++内存不安全,一不小心就会埋雷。

语言只是工具,rust也可以写出有问题的代码,不要迷信也不要被话术蒙了双眼。现有C++项目用rust重写可能新写一堆bug(毕竟改动量很可能很大),然后会rust的开发却远没会C++的多,目前来看我觉得是得不偿失的。

gregstoll commented 6 days ago

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, weasel.dll is handling the MSG_WM_SETFOCUS event in WeaselTSF::OnSetFocus(), which ends up calling ClientImpl::FocusOut(), which sends a WEASEL_IPC_FOCUS_OUT message. This is done in ClientImpl::_SendMessage(), which calls std::async() to send the message, but scheduling this task seems to fail (presumably because the application is exiting).

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!

ntdll.dll!TppRaiseInvalidParameter() Unknown ntdll.dll!TpAllocWork() Unknown kernel32.dll!CreateThreadpoolWorkStub() Unknown weasel.dll!Concurrency::details::_Schedule_chore(Concurrency::details::_Threadpool_chore _Chore=0x000001cfdf52f1e0) Line 162 C++ [Inline Frame] weasel.dll!Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::_Schedule() Line 66 C++ weasel.dll!Concurrency::details::_DefaultPPLTaskScheduler::schedule(void()(void ) _Proc=0x00007ff8e137eb90, void _Param=0x000001cfdf52ef10) Line 76 C++ [Inline Frame] weasel.dll!Concurrency::details::_TaskCollectionBaseImpl::_ScheduleTask(Concurrency::details::_TaskProcHandle ) Line 215 C++ weasel.dll!Concurrency::details::_Task_impl_base::_ScheduleTask(Concurrency::details::_TaskProcHandle _PTaskHandle=0x000001cfdf52ef10, Concurrency::details::_TaskInliningMode _InliningMode=_NoInline) Line 1757 C++ [Inline Frame] weasel.dll!Concurrency::task::_TaskInitWithFunctor(const std::_Task_async_state::{ctor}::l2:: &) Line 3830 C++ [Inline Frame] weasel.dll!Concurrency::task::_TaskInitMaybeFunctor(std::_Task_async_state::{ctor}::__l2:: &) Line 4415 C++ weasel.dll!Concurrency::task::task<>(std::_Task_async_state::{ctor}::l2:: _Param={...}, const Concurrency::task_options & _TaskOptions={...}) Line 4024 C++ weasel.dll!Concurrency::create_task<>(std::_Task_async_state::{ctor}::__l2:: _Param={...}, Concurrency::task_options _TaskOptions={...}) Line 4544 C++ weasel.dll!std::_Task_async_state::_Task_async_state<std::_Fake_no_copy_callable_adapter<>>(std::_Fake_no_copy_callable_adapter<> && _Fnarg={...}) Line 672 C++ [Inline Frame] weasel.dll!std::_Get_associated_state(std::launch) Line 1483 C++ weasel.dll!std::async<>(std::launch _Fnarg, weasel::ClientImpl::_SendMessage::__l3:: &&) Line 1493 C++ weasel.dll!weasel::ClientImpl::_SendMessage(WEASEL_IPC_COMMAND Msg=0xdc82b000, unsigned long wParam=0xdf5083d0, unsigned long lParam=0x00140000) Line 200 C++ [Inline Frame] weasel.dll!weasel::ClientImpl::FocusOut() Line 140 C++ [Inline Frame] weasel.dll!weasel::Client::FocusOut() Line 269 C++ weasel.dll!WeaselTSF::OnSetFocus(int fForeground) Line 40 C++ msctf.dll!CThreadInputMgr::_SetForeground(unsigned long) Unknown msctf.dll!CThreadInputMgr::_DeactivateTip(class CTip ,int) Unknown msctf.dll!CThreadInputMgr::ActivateInputProfile() Unknown msctf.dll!CThreadInputMgr::OnCleanupContextsEnded() Unknown msctf.dll!CCleanupShared::Release() Unknown msctf.dll!CThreadInputMgr::_CleanupContexts() Unknown msctf.dll!CThreadInputMgr::Suspend() Unknown msctf.dll!CThreadInputMgr::OnActivationChange() Unknown msctf.dll!CThreadInputMgr::Deactivate() Unknown msctf.dll!CicBridge::DeactivateIMMX() Unknown msctf.dll!CicBridge::~CicBridge(void) Unknown msctf.dll!CicBridge::`vector deleting destructor'(unsigned int) Unknown msctf.dll!CicBridge::Release(void) Unknown msctf.dll!TLS::InternalDestroyTLS() Unknown msctf.dll!CicFlsCallback() Unknown ntdll.dll!RtlpFlsDataCleanup() Unknown ntdll.dll!LdrShutdownProcess() Unknown ntdll.dll!RtlExitUserProcess() Unknown kernel32.dll!ExitProcessImplementation() Unknown ucrtbase.dll!exit_or_terminate_process() Unknown ucrtbase.dll!common_exit() Unknown xul.dll!ApplyUpdate(nsIFile greDir, nsIFile updateDir, nsIFile appDir, int appArgc=0x00000001, char appArgv=0x000001cfdcc03460, bool restart, bool isStaged, void outpid=0x0000000000000000) Line 616 C++ xul.dll!ProcessUpdates(nsIFile greDir=0x000001cfdcc25cf0, nsIFile appDir=0x000001cfdcc25ac0, nsIFile updRootDir, int argc=0x00000001, char argv=0x000001cfdcc03460, const char appVersion=0x000001cfdcc03320, bool restart, void pid=0x0000000000000000) Line 697 C++ xul.dll!XREMain::XRE_mainStartup(bool aExitFlag=0x000000b8a43feb43) Line 5045 C++ xul.dll!XREMain::XRE_main(int argc, char argv, const mozilla::BootstrapConfig & aConfig={...}) Line 5980 C++ xul.dll!XRE_main(int argc, char * argv, const mozilla::BootstrapConfig & aConfig) Line 6049 C++ firefox.exe!00007ff7ca9739b6() Unknown firefox.exe!00007ff7ca99bfe8() Unknown kernel32.dll!BaseThreadInitThunk() Unknown ntdll.dll!RtlUserThreadStart() Unknown

fxliang commented 6 days ago

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, weasel.dll is handling the MSG_WM_SETFOCUS event in WeaselTSF::OnSetFocus(), which ends up calling ClientImpl::FocusOut(), which sends a WEASEL_IPC_FOCUS_OUT message. This is done in ClientImpl::_SendMessage(), which calls std::async() to send the message, but scheduling this task seems to fail (presumably because the application is exiting).

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!

ntdll.dll!TppRaiseInvalidParameter() Unknown ntdll.dll!TpAllocWork() Unknown kernel32.dll!CreateThreadpoolWorkStub() Unknown weasel.dll!Concurrency::details::_Schedule_chore(Concurrency::details::_Threadpool_chore _Chore=0x000001cfdf52f1e0) Line 162 C++ [Inline Frame] weasel.dll!Concurrency::details::_DefaultPPLTaskScheduler::_PPLTaskChore::_Schedule() Line 66 C++ weasel.dll!Concurrency::details::_DefaultPPLTaskScheduler::schedule(void()(void ) _Proc=0x00007ff8e137eb90, void _Param=0x000001cfdf52ef10) Line 76 C++ [Inline Frame] weasel.dll!Concurrency::details::_TaskCollectionBaseImpl::_ScheduleTask(Concurrency::details::_TaskProcHandle ) Line 215 C++ weasel.dll!Concurrency::details::_Task_impl_base::_ScheduleTask(Concurrency::details::_TaskProcHandle _PTaskHandle=0x000001cfdf52ef10, Concurrency::details::_TaskInliningMode _InliningMode=_NoInline) Line 1757 C++ [Inline Frame] weasel.dll!Concurrency::task::_TaskInitWithFunctor(const std::_Task_async_state::{ctor}::l2:: &) Line 3830 C++ [Inline Frame] weasel.dll!Concurrency::task::_TaskInitMaybeFunctor(std::_Task_async_state::{ctor}::__l2:: &) Line 4415 C++ weasel.dll!Concurrency::task::task<>(std::_Task_async_state::{ctor}::l2:: _Param={...}, const Concurrency::task_options & _TaskOptions={...}) Line 4024 C++ weasel.dll!Concurrency::create_task<>(std::_Task_async_state::{ctor}::__l2:: _Param={...}, Concurrency::task_options _TaskOptions={...}) Line 4544 C++ weasel.dll!std::_Task_async_state::_Task_async_state<std::_Fake_no_copy_callable_adapter<>>(std::_Fake_no_copy_callable_adapter<> && _Fnarg={...}) Line 672 C++ [Inline Frame] weasel.dll!std::_Get_associated_state(std::launch) Line 1483 C++ weasel.dll!std::async<>(std::launch _Fnarg, weasel::ClientImpl::_SendMessage::__l3:: &&) Line 1493 C++ weasel.dll!weasel::ClientImpl::_SendMessage(WEASEL_IPC_COMMAND Msg=0xdc82b000, unsigned long wParam=0xdf5083d0, unsigned long lParam=0x00140000) Line 200 C++ [Inline Frame] weasel.dll!weasel::ClientImpl::FocusOut() Line 140 C++ [Inline Frame] weasel.dll!weasel::Client::FocusOut() Line 269 C++ weasel.dll!WeaselTSF::OnSetFocus(int fForeground) Line 40 C++ msctf.dll!CThreadInputMgr::_SetForeground(unsigned long) Unknown msctf.dll!CThreadInputMgr::_DeactivateTip(class CTip ,int) Unknown msctf.dll!CThreadInputMgr::ActivateInputProfile() Unknown msctf.dll!CThreadInputMgr::OnCleanupContextsEnded() Unknown msctf.dll!CCleanupShared::Release() Unknown msctf.dll!CThreadInputMgr::_CleanupContexts() Unknown msctf.dll!CThreadInputMgr::Suspend() Unknown msctf.dll!CThreadInputMgr::OnActivationChange() Unknown msctf.dll!CThreadInputMgr::Deactivate() Unknown msctf.dll!CicBridge::DeactivateIMMX() Unknown msctf.dll!CicBridge::~CicBridge(void) Unknown msctf.dll!CicBridge::`vector deleting destructor'(unsigned int) Unknown msctf.dll!CicBridge::Release(void) Unknown msctf.dll!TLS::InternalDestroyTLS() Unknown msctf.dll!CicFlsCallback() Unknown ntdll.dll!RtlpFlsDataCleanup() Unknown ntdll.dll!LdrShutdownProcess() Unknown ntdll.dll!RtlExitUserProcess() Unknown kernel32.dll!ExitProcessImplementation() Unknown ucrtbase.dll!exit_or_terminate_process() Unknown ucrtbase.dll!common_exit() Unknown xul.dll!ApplyUpdate(nsIFile greDir, nsIFile updateDir, nsIFile appDir, int appArgc=0x00000001, char appArgv=0x000001cfdcc03460, bool restart, bool isStaged, void outpid=0x0000000000000000) Line 616 C++ xul.dll!ProcessUpdates(nsIFile greDir=0x000001cfdcc25cf0, nsIFile appDir=0x000001cfdcc25ac0, nsIFile updRootDir, int argc=0x00000001, char argv=0x000001cfdcc03460, const char appVersion=0x000001cfdcc03320, bool restart, void pid=0x0000000000000000) Line 697 C++ xul.dll!XREMain::XRE_mainStartup(bool aExitFlag=0x000000b8a43feb43) Line 5045 C++ xul.dll!XREMain::XRE_main(int argc, char argv, const mozilla::BootstrapConfig & aConfig={...}) Line 5980 C++ xul.dll!XRE_main(int argc, char * argv, const mozilla::BootstrapConfig & aConfig) Line 6049 C++ firefox.exe!00007ff7ca9739b6() Unknown firefox.exe!00007ff7ca99bfe8() Unknown kernel32.dll!BaseThreadInitThunk() Unknown ntdll.dll!RtlUserThreadStart() Unknown

are there any simple ways to reproduce this ?

gregstoll commented 5 days ago

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.