HMCL icon indicating copy to clipboard operation
HMCL copied to clipboard

连续两次点击同一mod回滚后会使启动器崩溃

Open solitary-sails opened this issue 2 years ago • 2 comments

启动器版本 Launcher Version

v3.5.3.221

平台 Platform

Windows10

Java

Azul zulu 17.03+7

游戏版本 Game Version

No response

对游戏所做的修改 Modifications Made to the Game

No response

游戏崩溃报告 Game Crash Report

No response

启动器崩溃报告 Launcher Crash Report

---- Hello Minecraft! Crash Report ---- Version: 3.5.3.221 Time: 2022-06-12 20:51:23 Thread: Thread[JavaFX Application Thread,5,main]

Content: java.lang.IllegalStateException: Rolling back an unknown mod architectury-4.4.70 at org.jackhuang.hmcl.mod.ModManager.rollback(ModManager.java:168) at org.jackhuang.hmcl.ui.versions.ModListPage.rollback(ModListPage.java:208) at org.jackhuang.hmcl.ui.versions.ModListPageSkin$ModInfoListCell.lambda$null$0(ModListPageSkin.java:335) at org.jackhuang.hmcl.ui.construct.IconedMenuItem.lambda$new$0(IconedMenuItem.java:29) at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234) at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.base/javafx.event.Event.fireEvent(Event.java:198) at javafx.graphics/javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3602) at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Scene.java:3906) at javafx.graphics/javafx.scene.Scene.processMouseEvent(Scene.java:1878) at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2623) at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411) at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450) at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424) at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449) at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:557) at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:943) at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184) at java.base/java.lang.Thread.run(Thread.java:833)

-- System Details -- Operating System: Windows 10 10.0.19044.1706 System Architecture: AMD64 Java Architecture: amd64 Java Version: 17.0.1, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation JVM Max Memory: 4282384384 JVM Total Memory: 125829120 JVM Free Memory: 71477704

启动器日志文件 Launcher Log File

我试着导出日志,但应该因为是启动器崩溃了,从时间上看,重新打开后导出的日志并不包含崩溃时的那部分

问题描述 Problem Description

选择任意一个有历史版本可供回退的mod,在第一次选择回退到的版本,点击该版本后该版本的回退按钮不会自动关闭,此时再次点击会造成启动器崩溃。 GIF 2022-6-12 21-04-05

solitary-sails avatar Jun 12 '22 13:06 solitary-sails

貌似日志可以在 %APPDATA%\.hmcl\logs 里找到

wifi-left avatar Jun 28 '22 12:06 wifi-left

这个bug其实很简单,就是因为mod被复制回去之后列表没有更新,再点一次就会找不到文件而报错了。 比如一个mod有1.1和1.2的版本,然后你现在按滚回1.1,mod-1.1.jar被复制回去了,再点一次会再去移动一遍这个文件,但是这个文件已经不在这个地方了,所以就崩了。

解决办法:在按下回退之后强行把这个下拉菜单关了从而重新加载可回退版本列表

真 · 你永远不知道客户会如何使用你的程序

IAFEnvoy avatar Jul 14 '22 06:07 IAFEnvoy