I've introduced the mc-runtime-test and mc-server-test actions into several Hex Casting-related projects, and all of them have recently started running into frequent but intermittent failures caused by an HTTP timeout while fetching version.json. Manually rerunning the job often resolves the timeout.
Example of a workflow run that failed due to this issue: https://github.com/FallingColors/HexMod/actions/runs/18510809336/job/52751586190
Traceback:
[21:45:54] [main/INFO] [ServerLauncher]: Launching server to create EULA...
[21:45:59] [main/SEVERE] [AbstractLaunchProcessLifecycle]: Failed to start Minecraft on try 0
me.earth.headlessmc.api.command.CommandException: Failed to read Version 1.20.1
at me.earth.headlessmc.launcher.server.ServerLauncher.getVersion(ServerLauncher.java:258)
at me.earth.headlessmc.launcher.server.ServerLauncher.launch0(ServerLauncher.java:116)
at me.earth.headlessmc.launcher.server.ServerLauncher.eulaLaunch(ServerLauncher.java:72)
at me.earth.headlessmc.launcher.server.ServerLauncher.launch(ServerLauncher.java:90)
at me.earth.headlessmc.launcher.server.commands.LaunchServerCommand$ServerLaunchProcessLifecycle.createProcess(LaunchServerCommand.java:52)
at me.earth.headlessmc.launcher.command.AbstractLaunchProcessLifecycle.runProcess(AbstractLaunchProcessLifecycle.java:133)
at me.earth.headlessmc.launcher.command.AbstractLaunchProcessLifecycle.run(AbstractLaunchProcessLifecycle.java:60)
at me.earth.headlessmc.launcher.server.commands.LaunchServerCommand.execute(LaunchServerCommand.java:25)
at me.earth.headlessmc.launcher.server.commands.LaunchServerCommand.execute(LaunchServerCommand.java:16)
at me.earth.headlessmc.launcher.command.FindByCommand.execute(FindByCommand.java:42)
at me.earth.headlessmc.api.command.CommandContextImpl.executeCommand(CommandContextImpl.java:54)
at me.earth.headlessmc.api.command.CommandContextImpl.execute(CommandContextImpl.java:33)
at me.earth.headlessmc.launcher.server.commands.ServerCommandContext.execute(ServerCommandContext.java:37)
at me.earth.headlessmc.launcher.server.ServerCommand.execute(ServerCommand.java:45)
at me.earth.headlessmc.api.command.CommandContextImpl.executeCommand(CommandContextImpl.java:54)
at me.earth.headlessmc.api.command.CommandContextImpl.execute(CommandContextImpl.java:33)
at me.earth.headlessmc.api.command.line.CommandLine.lambda$new$0(CommandLine.java:45)
at me.earth.headlessmc.launcher.QuickExitCliHandler.checkQuickExit(QuickExitCliHandler.java:47)
at me.earth.headlessmc.launcher.Main.runHeadlessMc(Main.java:57)
at me.earth.headlessmc.launcher.Main.main(Main.java:20)
Caused by: java.net.http.HttpConnectTimeoutException: HTTP connect timed out
at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:568)
at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:123)
at net.lenni0451.commons.httpclient.executor.HttpClientExecutor.execute(HttpClientExecutor.java:48)
at net.lenni0451.commons.httpclient.HttpClient.execute(HttpClient.java:232)
at net.lenni0451.commons.httpclient.requests.HttpRequest.execute(HttpRequest.java:213)
at me.earth.headlessmc.launcher.download.DownloadService.get(DownloadService.java:70)
at me.earth.headlessmc.launcher.download.DownloadService.download(DownloadService.java:55)
at me.earth.headlessmc.launcher.command.download.VersionInfoUtil.toVersion(VersionInfoUtil.java:27)
at me.earth.headlessmc.launcher.server.ServerLauncher.getVersion(ServerLauncher.java:256)
... 19 more
Caused by: java.net.http.HttpConnectTimeoutException: HTTP connect timed out
at java.net.http/jdk.internal.net.http.MultiExchange.toTimeoutException(MultiExchange.java:580)
at java.net.http/jdk.internal.net.http.MultiExchange.getExceptionalCF(MultiExchange.java:527)
at java.net.http/jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:447)
at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934)
at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:911)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.stopOnError(SSLFlowDelegate.java:997)
at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:990)
at java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:974)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run1(SubscriberWrapper.java:295)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run(SubscriberWrapper.java:259)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$LockingRestartableTask.run(SequentialScheduler.java:205)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(SequentialScheduler.java:149)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:230)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:303)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:256)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.errorCommon(SubscriberWrapper.java:419)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.errorCommon(SSLFlowDelegate.java:380)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.onError(SubscriberWrapper.java:410)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadSubscription.signalCompletion(SocketTube.java:637)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(SocketTube.java:821)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowTask.run(SocketTube.java:181)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(SequentialScheduler.java:230)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:303)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(SequentialScheduler.java:256)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.signalError(SocketTube.java:770)
at java.net.http/jdk.internal.net.http.SocketTube.signalClosed(SocketTube.java:159)
at java.net.http/jdk.internal.net.http.PlainHttpConnection.close(PlainHttpConnection.java:372)
at java.net.http/jdk.internal.net.http.AsyncSSLConnection.close(AsyncSSLConnection.java:111)
at java.net.http/jdk.internal.net.http.Exchange$ConnectionAborter.closeConnection(Exchange.java:194)
at java.net.http/jdk.internal.net.http.Exchange$ConnectionAborter.closeConnection(Exchange.java:178)
at java.net.http/jdk.internal.net.http.Exchange.cancel(Exchange.java:277)
at java.net.http/jdk.internal.net.http.MultiExchange.cancel(MultiExchange.java:260)
at java.net.http/jdk.internal.net.http.PlainHttpConnection$ConnectTimerEvent.handle(PlainHttpConnection.java:102)
at java.net.http/jdk.internal.net.http.HttpClientImpl.purgeTimeoutsAndReturnNextDeadline(HttpClientImpl.java:1275)
at java.net.http/jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:904)
Caused by: java.net.ConnectException: HTTP connect timed out
at java.net.http/jdk.internal.net.http.MultiExchange.toTimeoutException(MultiExchange.java:581)
... 38 more
I've introduced the mc-runtime-test and mc-server-test actions into several Hex Casting-related projects, and all of them have recently started running into frequent but intermittent failures caused by an HTTP timeout while fetching version.json. Manually rerunning the job often resolves the timeout.
Example of a workflow run that failed due to this issue: https://github.com/FallingColors/HexMod/actions/runs/18510809336/job/52751586190
Traceback: