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

[漏洞报告] 游戏更新后没有启动 MC #14

Open
SettingDust opened this issue Mar 28, 2023 · 33 comments
Open

[漏洞报告] 游戏更新后没有启动 MC #14

SettingDust opened this issue Mar 28, 2023 · 33 comments
Labels
bug Something isn't working good first issue Good for newcomers

Comments

@SettingDust
Copy link

SettingDust commented Mar 28, 2023

版本是 1.0.14,我本地复现不了,但是另一个玩家稳定遇到这个问题,在删了 javaagent 之后就正常进入了

[ 03-28 13:34:11.985 INFO  ] [McPatchClient] RAM: 14.94 MB
[ 03-28 13:34:11.985 INFO  ] [McPatchClient] Graphics Mode: true
[ 03-28 13:34:11.986 INFO  ] [McPatchClient] Standalone: false
[ 03-28 13:34:11.986 INFO  ] [McPatchClient] Updating Directory:   D:/Games/MCDawncraft
[ 03-28 13:34:11.986 INFO  ] [McPatchClient] Working Directory:    D:/Games/MCDawncraft/.minecraft
[ 03-28 13:34:11.986 INFO  ] [McPatchClient] Executable Directory: D:/Games/MCDawncraft/.minecraft/.third
[ 03-28 13:34:11.987 INFO  ] [McPatchClient] Application Version:  1.0.14 (5b70fc5c21156ed4bd258e2372cdd894742b5558)
[ 03-28 13:34:11.987 INFO  ] [McPatchClient] Java virtual Machine: Microsoft 17.0.6
[ 03-28 13:34:11.988 INFO  ] [McPatchClient] Operating System: Windows 11 10.0 amd64
[ 03-28 13:34:12.373 DEBUG ] [McPatchClient] http request on https://********/minecraft/%E9%BB%8E%E6%98%8E%E4%B8%96%E7%95%8C/mc-patch-versions.txt
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient] all versions: 
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.0
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.1
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.2
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.3
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.4
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.5
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.6
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.7
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.8
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.1.9
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.2.0
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.2.1
[ 03-28 13:34:12.569 DEBUG ] [McPatchClient]   - 0.2.2
[ 03-28 13:34:12.570 INFO  ] [McPatchClient] current version: 0.2.2, newest version: 0.2.2
[ 03-28 13:34:12.570 INFO  ] [McPatchClient] no missing versions and all files is up-to-date!
[ 03-28 13:34:12.570 INFO  ] [McPatchClient] continue to start Minecraft!
[ 03-28 13:34:12.582 INFO  ] [McPatchClient] RAM: 47.70 MB
[ 03-28 13:34:12.582 INFO  ] [McPatchClient] finished!

@asforest
Copy link
Member

能发一下完整的游戏日志和McPatchClient日志吗

@SettingDust
Copy link
Author

SettingDust commented Mar 28, 2023

能发一下完整的游戏日志和McPatchClient日志吗

游戏日志没有,mcpatch 的日志稍等,发现发送的时候文件被占用,我让他试试结束所有 java 再启动看看好没好
EDIT:McPatch 的日志我看了是完全正常的,稍后编辑到主体里

@asforest
Copy link
Member

既然能稳定复现,再启动一次好了。最好能有游戏日志,对诊断问题有很大帮助

@SettingDust
Copy link
Author

既然能稳定复现,再启动一次好了。最好能有游戏日志,对诊断问题有很大帮助

就是没有游戏日志,游戏根本没启动……

@asforest
Copy link
Member

有的。截图中那个导出按钮就是

@SettingDust
Copy link
Author

SettingDust commented Mar 28, 2023

有的。截图中那个导出按钮就是

Latest.log 的修改日期是之前启动的修改日期,游戏根本没有被启动
EDIT:McPatch 的日志已经附加
image

@asforest
Copy link
Member

McPatch 的日志上传了吗,我好像没有找到

@SettingDust
Copy link
Author

McPatch 的日志上传了吗,我好像没有找到

在 issue 主体里,可能需要刷新?

@SettingDust
Copy link
Author

SettingDust commented Mar 28, 2023

之前没遇到过,但是刚刚更新了 1.0.14,不知道有没有关系,不太确定

EDIT:我本地也是更新了,但是没有复现他的问题

@asforest
Copy link
Member

asforest commented Mar 28, 2023

aaa.txt

怪了。我发一个文件看看自己能不能收到

另外从1.0.13开始启动流程有大改过,可能和这个有关系

如果你实在发不出来附件的话,可以直接把日志粘贴过来也没问题的

@SettingDust
Copy link
Author

我已经放置到 Issue 主体中了,不是附件,就是粘贴在代码块里的

@asforest
Copy link
Member

噢噢噢我看到了,还以为你发的附件。不好意思哈。

你让这个玩家换OracleJDK或者OpenJDK看看,他用的Microsoft的,可能和这个有关

@SettingDust
Copy link
Author

噢噢噢我看到了,还以为你发的附件。不好意思哈。

你让这个玩家换OracleJDK或者OpenJDK看看,他用的Microsoft的,可能和这个有关

我也是 Microsoft
image

@asforest
Copy link
Member

所有玩家都是微软jdk吗,出这个问题的人占比多吗

@SettingDust
Copy link
Author

所有玩家都是微软jdk吗,出这个问题的人占比多吗

是所有,因为只有我俩,所以是 50%……

@asforest
Copy link
Member

那试试换Oraclejdk,OpenJDK,或者zulu看看吧,或许会有效果。因为不排除的微软jdk本身的问题,我开发时并没有专门为微软jdk做测试。

@SettingDust
Copy link
Author

看了下代码,也许是启动了之后没有结束,因为他有这样的描述

启动器开了 进程里有个javaw.exe
点启动游戏 进程里多了2个java.exe
然后没了

然后没了是指不动了

@SettingDust
Copy link
Author

我让他 jstack 一下看看

@asforest
Copy link
Member

McPatchClient-1.0.14-j17.zip

试试这个java17编译的jarn能否正常运行

@SettingDust
Copy link
Author

OUQV $C6BW~HYWUKXLH)NO
E_C@5JVYY26599EIHJJG_)C
K%_Z}483OO~O)`X@_ A56

@SettingDust
Copy link
Author

SettingDust commented Mar 28, 2023

这是被启动的那个独立进程的 jstack,然后还有一个问题是结束掉主进程(通过启动器的结束游戏进程)之后子进程会一直在后台,可能需要个超时自动关闭的设定
主进程是一直在等待子进程结束的 stack

新的 jar 问题是一致的

@SettingDust
Copy link
Author

我在让他下一个 zulu 试试

@SettingDust
Copy link
Author

zulu 也是一样的,17.0.6 版本

@asforest
Copy link
Member

嗯,确实有这个问题,结束启动过程之后,子进程还是会蹦出来更新,这个问题我单独开个issue解决。

说回到这个问题上,我看了调用栈截图,感觉和java.awt有关。你试试给javagent选项加参数windowless以无窗口模式启动,看看是否还会卡住(javagent:xxx.jar=windowless

@asforest
Copy link
Member

McPatchClient-1.0.14.jar.zip

试试这个文件,我把启动方式还原到1.0.12yiq以前了

@SettingDust
Copy link
Author

windowless 可以正常启动

@asforest
Copy link
Member

windowless 可以正常启动

那多半是java.awt的问题,这个包除出问题一点真的也不意外。

试试我刚发的版本,用的是旧启动方式

@SettingDust
Copy link
Author

应该不需要测试了吧?因为他现在已经在里面玩了,不太想把他拽出来xd

@asforest
Copy link
Member

asforest commented Mar 28, 2023

嗯,不着急,出问题再测试也不迟


感觉就算用了之前的启动方式,大概率还是不顶用。(直觉罢)

@Mr-Ao-Dragon Mr-Ao-Dragon added the bug Something isn't working label May 20, 2023
@Mr-Ao-Dragon Mr-Ao-Dragon added the good first issue Good for newcomers label May 20, 2023
@MoAccelerator
Copy link

MoAccelerator commented Jul 21, 2023

打扰一下挖个坟 上个月刚遇到类似的问题(
当时使用的是群峦救援整合包1.7.10,服务端放在电脑A,使用FRP服务进行内网穿透,运行FRP服务端和mcpatch服务端的是电脑B。
属于是30%玩家能正常用HMCL启动器的启动项自动更新并进入游戏,剩下的人全都是提示更新完成后 任务管理器中出现java进程,但是永远不会启动游戏,PCL2是所有人都打不开 跟HMCL无法启动的症状一样。。但是我却两个客户端全都能正常打开 就很奇怪,一开始怀疑网络问题 因为电脑B和我都在同一座城市,但是所有人又都能提示更新成功,去除mcpatch之后又能正常进服务器,并且java是服务器群里统一配发的安装包(包括我也用的这个安装包)。mcpatch客户端版本是1.1.5,管理端是1.1.9,服务端是0.0.1。确实想不到什么有用的线索,而且也没有任何日志生成。直到关服也没搞懂问题出在哪 (悲)

@asforest
Copy link
Member

@MoAccelerator 这个问题发生的确实很随机,我的电脑上怎么都重现不了,目前还找不到是什么原因引起的。目前来看最大的可能性是客户端1.1.3版本开始引入了新的启动方式导致的(使用独立进程启动,这样做的初衷是避免下载限速的bug)。

你可以试试升级到1.1.9还是1.1.10来着,又改回老的启动方式了(因为很多人反馈有进程残留的问题),如果不能升级的话,也可以打开客户端jar文件,在根目录创建一个叫.no-standalone-process的空文件,程序也会使用老的启动方式。

@MoAccelerator
Copy link

@MoAccelerator 这个问题发生的确实很随机,我的电脑上怎么都重现不了,目前还找不到是什么原因引起的。目前来看最大的可能性是客户端1.1.3版本开始引入了新的启动方式导致的(使用独立进程启动,这样做的初衷是避免下载限速的bug)。

你可以试试升级到1.1.9还是1.1.10来着,又改回老的启动方式了(因为很多人反馈有进程残留的问题),如果不能升级的话,也可以打开客户端jar文件,在根目录创建一个叫.no-standalone-process的空文件,程序也会使用老的启动方式。

感谢大佬解答,不过我这边暂时没办法测试(旧周目刚结束 现在玩家基本没什么活跃度)。下次有机会开服再来跟您反馈,谢谢。

@Dreeam-qwq
Copy link

@MoAccelerator 这个问题发生的确实很随机,我的电脑上怎么都重现不了,目前还找不到是什么原因引起的。目前来看最大的可能性是客户端1.1.3版本开始引入了新的启动方式导致的(使用独立进程启动,这样做的初衷是避免下载限速的bug)。

你可以试试升级到1.1.9还是1.1.10来着,又改回老的启动方式了(因为很多人反馈有进程残留的问题),如果不能升级的话,也可以打开客户端jar文件,在根目录创建一个叫.no-standalone-process的空文件,程序也会使用老的启动方式。

用的是1.1.10,用这个方法解决了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

5 participants