Skip to content
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

和讯飞输入法/搜狗拼音存在兼容性问题(崩溃闪退) #377

Closed
yyjdelete opened this issue Feb 5, 2024 · 5 comments · Fixed by #415
Closed

和讯飞输入法/搜狗拼音存在兼容性问题(崩溃闪退) #377

yyjdelete opened this issue Feb 5, 2024 · 5 comments · Fixed by #415
Labels
archived bug Something isn't working duplicate This issue or pull request already exists

Comments

@yyjdelete
Copy link

yyjdelete commented Feb 5, 2024

和讯飞输入法存在兼容性问题
NanaZip: NanaZip 3.0 Preview 0 (3.0.756.0), https://github.com/M2Team/NanaZip/releases/tag/3.0.756
讯飞: v3.0.1735(https://srf.xunfei.cn/#/ https://download.voicecloud.cn/200ime/iFlyIME_Setup_3.0.1735.exe)

当输入焦点位于NanaZip内任何的文本框, 且当前输入法为讯飞输入法时, 程序会直接闪退
(无日志, 但在%USERPROFILE%\AppData\LocalLow\iFly Info Tek\iFlyIME\crash下会生成crashlog.dmp文件)

试了下微软拼音/搜狗/百度, 就讯飞有这个问题, 也反馈给讯飞了, 在这边也报一个, 以供遇到相同问题的人参考, 以及看看能不能定位到问题

崩溃的堆栈时在讯飞输入法的代码中, 但我只在NanaZip上遇到了, 异常代码是0xC0000017: STATUS_NO_MEMORY(Not Enough Quota)


更新下, 不是所有的文本框都会崩

打开压缩包后主窗口的路径那个文本框, 还有提取按钮点开的那个文本框会崩, 但右键菜单的添加到压缩包...提取文件...里面的又不会, 不知道是啥原因

感觉好像是, 我这里Windows调的深色模式, 如果我NanaZip里面的文本框, 右键菜单按出来是黑色的地方就会崩, 白色的就不会

然后CI里面的包是, Release(Release\NanaZipPackage\x64)会崩, Debug不会

@yyjdelete
Copy link
Author

yyjdelete commented May 24, 2024

测试现在NanaZip 3.5 Preview 0(3.5.996.0 x64)+win11 Insider preview(24H2 26217.5000)+搜狗输入法14.4.0.9382下, 也会出现同样的必现崩溃问题, 触发条件是开启IME的情况下, 输入焦点位于Nanazip中任何以暗色显示的文本框中
异常信息如下
image
image

更新下加载了nanazip的pdpdb之后的结果部分
image
image
image

在win11下装了另外几个输入法试了下,微软拼音/微信输入法/百度输入法都不会崩

但好像在win10 22H2下和同版本Nanazip和搜狗输入法不会触发崩溃(不确定, 因为存在严重的显示高亮问题, 没有怎么用)

@yyjdelete yyjdelete changed the title 和讯飞输入法存在兼容性问题 和讯飞/输入法/搜狗拼音存在兼容性问题 May 24, 2024
@yyjdelete yyjdelete changed the title 和讯飞/输入法/搜狗拼音存在兼容性问题 和讯飞输入法/搜狗拼音存在兼容性问题 May 24, 2024
@yyjdelete yyjdelete changed the title 和讯飞输入法/搜狗拼音存在兼容性问题 和讯飞输入法/搜狗拼音存在兼容性问题(崩溃闪退) May 24, 2024
@MouriNaruto MouriNaruto added the bug Something isn't working label May 24, 2024
@MouriNaruto
Copy link
Member

#408 (comment)

关于崩溃闪退的问题有一些信息可以帮到你

毛利

@MouriNaruto
Copy link
Member

I have merged the fix PR. But I won't close this issue until the new version is released.

Kenji Mouri

@dinhngtu
Copy link
Contributor

The iFlyIME crash is a separate issue:

ERROR_CODE: (NTSTATUS) 0xc0000017 - {Not Enough Quota}  Not enough virtual memory or paging file quota is available to complete the specified operation.

 	KernelBase.dll!RaiseException()
	BaseGUI.dll!000000005e01afbc()	void * __cdecl ATL::__AllocStdCallThunk(void)
 	BaseGUI.dll!000000005df49a73()
 	BaseGUI.dll!000000005dfbe3a8()
 	BaseGUI.dll!000000005dfbe368()
 	BaseGUI.dll!000000005dfbed5b()
 	BaseGUI.dll!000000005dfbea77()
 	BaseGUI.dll!000000005dfbe783()
 	BaseGUI.dll!000000005def8021()
 	BaseGUI.dll!000000005deed9de()
 	iFlyTsfUI.dll!000000005c9e3e90()
 	iFlyServer.dll!000000005d686a8d()
 	iFlyServer.dll!000000005d684809()
 	iFlyServer.dll!000000005d685956()
 	iFlyServer.dll!000000005d683a1d()
 	iFlyServer.dll!000000005d665d13()
 	iFlyServer.dll!000000005d644eb0()
 	iFlyServer.dll!000000005d646cb2()
 	iFlyServer.dll!000000005d645f42()
 	iFlyServer.dll!000000005d643ad8()
 	iFlyServer.dll!000000005d65c68c()
 	iFlyBaseLogic.dll!000000005e28f3ed()
 	iFlyBaseLogic.dll!000000005e28c019()
 	iFlyBaseLogic.dll!000000005e28dc47()
 	iFlyBaseLogic.dll!000000005e28d925()
 	iFlyBaseLogic.dll!000000005e28dbe7()
 	iflycommon.dll!000000005db8f847()
 	iflycommon.dll!000000005db8d68c()
 	iflycommon.dll!000000005db8df08()
 	iflycommon.dll!000000005dba37a1()
 	iflycommon.dll!000000005dba4a08()
 	iflycommon.dll!000000005dba4970()
 	iflycommon.dll!000000005db8f344()
 	iflycommon.dll!000000005db8f1df()
 	iflycommon.dll!000000005dbb8579()
 	iflycommon.dll!000000005db8f19d()
 	iflycommon.dll!000000005db87ff8()
 	iflycommon.dll!000000005db887a2()
 	iflycommon.dll!000000005db9d5ac()
 	kernel32.dll!BaseThreadInitThunk()
 	ntdll.dll!RtlUserThreadStart()

BaseGUI.dll ATL::__AllocStdCallThunk allocates an ATL thunk mapping with PAGE_EXECUTE_READWRITE, which is not allowed by Arbitrary Code Guard. This causes it to call RaiseException.

I think there are 2 options:

  • Block iFlyIME from loading into NanaZip;
  • Opt out of Arbitrary Code Guard whenever iFlyIME is detected.

@MouriNaruto MouriNaruto removed the fixed label May 25, 2024
@MouriNaruto
Copy link
Member

由于同时在两个类似的 issue 讨论这个问题有些麻烦,遂关闭该问题

毕竟在 #408 讨论会比较好

毛利

@MouriNaruto MouriNaruto added duplicate This issue or pull request already exists archived labels May 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
archived bug Something isn't working duplicate This issue or pull request already exists
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants