Skip to content

[Bug] 安装整合包时若选用BMCLAPI且刚好遇到返回错误代码的对应文件的节点会导致整合包安装直接失败 #4010

Open
@wifi-left

Description

@wifi-left

问题描述 | Bug Description

安装整合包时,若选用BMCLAPI,而且刚好遇到分配的节点没有对应文件,或者返回错误代码(403、500等),会导致安装直接失败。
虽然理论上讲应该是对应节点的问题,但HMCL遇到这种情况,是直接取消安装(安装整合包半天结果突然就取消了...啥都没装上,还是挺抓狂的)

启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File

[@.task.AsyncTaskExecutor.lambda$executeNormalTask$31/TRACE] Task failed: org.jackhuang.hmcl.task.Task$StagesHintTask
java.io.IOException: Server returned HTTP response code: 403 for URL: https://ykj-eos-dg5-01.eos-dongguan-6.cmecloud.cn/25baf12fca4444458ea73a247308d7aa086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27b7a1bb3a5c5d396d06bcf04a92badfd6e9590421&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250616T034856Z&X-Amz-SignedHeaders=host&X-Amz-Expires=900&X-Amz-Credential=9T1UKBIX6OJSR5XN2F2T%2F20250616%2Fdefault%2Fs3%2Faws4_request&t=2&u=1039874855820660619&ot=personal&oi=1039874855820660619&f=FiVQQzMFB8Nw2UZ3BAfhJDJ-hxkiWQebc&X-Amz-Signature=bb048efb30f95f0cad530009d8fb722aebda7cd7268294e84e231733352434e1
	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
	at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2070)
	at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2065)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:2064)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1634)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1614)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.lambda$getString$0(HttpRequest.java:144)
	at org.jackhuang.hmcl.util.io.HttpRequest.getStringWithRetry(HttpRequest.java:228)
	at org.jackhuang.hmcl.util.io.HttpRequest.access$100(HttpRequest.java:46)
	at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.getString(HttpRequest.java:141)
	at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:301)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://ykj-eos-dg5-01.eos-dongguan-6.cmecloud.cn/25baf12fca4444458ea73a247308d7aa086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27b7a1bb3a5c5d396d06bcf04a92badfd6e9590421&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250616T034856Z&X-Amz-SignedHeaders=host&X-Amz-Expires=900&X-Amz-Credential=9T1UKBIX6OJSR5XN2F2T%2F20250616%2Fdefault%2Fs3%2Faws4_request&t=2&u=1039874855820660619&ot=personal&oi=1039874855820660619&f=FiVQQzMFB8Nw2UZ3BAfhJDJ-hxkiWQebc&X-Amz-Signature=bb048efb30f95f0cad530009d8fb722aebda7cd7268294e84e231733352434e1
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2013)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1614)
	at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:531)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:307)
	at org.jackhuang.hmcl.util.io.NetworkUtils.resolveConnection(NetworkUtils.java:155)
	at org.jackhuang.hmcl.util.io.NetworkUtils.resolveConnection(NetworkUtils.java:134)
	at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.lambda$getString$0(HttpRequest.java:143)
	... 8 more
[12:39:14] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$29/TRACE] Task finished: 安装整合包
[12:39:14] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$29/TRACE] Task finished: org.jackhuang.hmcl.task.Task$StageTask
[12:39:14] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$31/TRACE] Task failed: org.jackhuang.hmcl.mod.curse.CurseInstallTask
java.io.IOException: Server returned HTTP response code: 403 for URL: https://ykj-eos-dg5-01.eos-dongguan-6.cmecloud.cn/25baf12fca4444458ea73a247308d7aa086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27b7a1bb3a5c5d396d06bcf04a92badfd6e9590421&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250616T034856Z&X-Amz-SignedHeaders=host&X-Amz-Expires=900&X-Amz-Credential=9T1UKBIX6OJSR5XN2F2T%2F20250616%2Fdefault%2Fs3%2Faws4_request&t=2&u=1039874855820660619&ot=personal&oi=1039874855820660619&f=FiVQQzMFB8Nw2UZ3BAfhJDJ-hxkiWQebc&X-Amz-Signature=bb048efb30f95f0cad530009d8fb722aebda7cd7268294e84e231733352434e1
	at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:486)
	at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2070)
	at java.base/sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2065)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:571)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:2064)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1634)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1614)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.lambda$getString$0(HttpRequest.java:144)
	at org.jackhuang.hmcl.util.io.HttpRequest.getStringWithRetry(HttpRequest.java:228)
	at org.jackhuang.hmcl.util.io.HttpRequest.access$100(HttpRequest.java:46)
	at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.getString(HttpRequest.java:141)
	at org.jackhuang.hmcl.util.Lang.lambda$wrap$3(Lang.java:301)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://ykj-eos-dg5-01.eos-dongguan-6.cmecloud.cn/25baf12fca4444458ea73a247308d7aa086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%27b7a1bb3a5c5d396d06bcf04a92badfd6e9590421&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20250616T034856Z&X-Amz-SignedHeaders=host&X-Amz-Expires=900&X-Amz-Credential=9T1UKBIX6OJSR5XN2F2T%2F20250616%2Fdefault%2Fs3%2Faws4_request&t=2&u=1039874855820660619&ot=personal&oi=1039874855820660619&f=FiVQQzMFB8Nw2UZ3BAfhJDJ-hxkiWQebc&X-Amz-Signature=bb048efb30f95f0cad530009d8fb722aebda7cd7268294e84e231733352434e1
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2013)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1614)
	at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:531)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:307)
	at org.jackhuang.hmcl.util.io.NetworkUtils.resolveConnection(NetworkUtils.java:155)
	at org.jackhuang.hmcl.util.io.NetworkUtils.resolveConnection(NetworkUtils.java:134)
	at org.jackhuang.hmcl.util.io.HttpRequest$HttpGetRequest.lambda$getString$0(HttpRequest.java:143)
	... 8 more

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions