vectrix-space / ignite

A Mixin loader for Spigot/Paper/Velocity
MIT License
218 stars 17 forks source link

Ignite makes Paper's plugin remapper fail #173

Closed KabanFriends closed 1 month ago

KabanFriends commented 3 months ago

Version: Paper 1.20.6

[18:44:29] [main/INFO]: Running ignite v1.0.1 (API: 1.0, ASM: ASM 9.6 (ASM10_EXPERIMENTAL), Java: 21.0)
[18:44:29] [main/INFO]: Detected game locator: Paper
[18:44:29] [main/INFO]: Preparing the game...
[18:44:29] [main/INFO]: Launching the game...
[18:44:29] [main/INFO]: Found 2 mod(s): kabansmp-injector@1.0.0, ignite@1.0
[18:44:29] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/E:/dev/minecraft/servers/kabansmp_test/ignite.jar Service=Ember/Ignite Env=SERVER
[18:44:29] [main/INFO]: Compatibility level set to JAVA_17
System Info: Java 21 (OpenJDK 64-Bit Server VM 21.0.3+9-LTS) Host: Windows 11 10.0 (amd64)
Loading libraries, please wait...
[18:44:32 INFO]: [ReobfServer] Remapping server...
[18:44:32 ERROR]: [EntrypointUtil] Self-suppression not permitted
java.lang.IllegalArgumentException: Self-suppression not permitted
        at java.base/java.lang.Throwable.addSuppressed(Throwable.java:1096) ~[?:?]
        at net.minecraft.util.ExceptionCollector.add(ExceptionCollector.java:13) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at io.papermc.paper.pluginremap.PluginRemapper.waitForAll(PluginRemapper.java:412) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at io.papermc.paper.pluginremap.PluginRemapper.rewritePluginDirectory(PluginRemapper.java:206) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.prepareContext(DirectoryProviderSource.java:42) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at io.papermc.paper.plugin.provider.source.DirectoryProviderSource.prepareContext(DirectoryProviderSource.java:17) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at io.papermc.paper.plugin.util.EntrypointUtil.registerProvidersFromSource(EntrypointUtil.java:14) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at io.papermc.paper.plugin.PluginInitializerManager.load(PluginInitializerManager.java:109) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at net.minecraft.server.Main.main(Main.java:122) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at org.bukkit.craftbukkit.Main.main(Main.java:328) ~[paper-1.20.6.jar:1.20.6-140-9e7f6c3]
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
        at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
        at space.vectrix.ignite.launch.LaunchImpl.lambda$launch$0(LaunchImpl.java:128) ~[ignite.jar:1.0.1]
        at space.vectrix.ignite.launch.ember.Ember.run(Ember.java:110) ~[ignite.jar:1.0.1]
        at space.vectrix.ignite.launch.ember.Ember.launch(Ember.java:50) ~[ignite.jar:1.0.1]
        at space.vectrix.ignite.IgniteBootstrap.run(IgniteBootstrap.java:175) ~[ignite.jar:1.0.1]
        at space.vectrix.ignite.IgniteBootstrap.main(IgniteBootstrap.java:74) ~[ignite.jar:1.0.1]
Caused by: java.util.concurrent.CompletionException: java.lang.RuntimeException: Failed to remap server jar
        at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
        at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
        at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:722) ~[?:?]
        at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
        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.lang.RuntimeException: Failed to remap server jar
        at io.papermc.paper.pluginremap.ReobfServer.remap(ReobfServer.java:80) ~[?:1.20.6-140-9e7f6c3]
        at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
        at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
        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.lang.NullPointerException: Cannot invoke "java.net.URL.toURI()" because the return value of "java.security.CodeSource.getLocation()" is null
        at io.papermc.paper.pluginremap.ReobfServer.serverJar(ReobfServer.java:87) ~[?:1.20.6-140-9e7f6c3]
        at io.papermc.paper.pluginremap.ReobfServer.lambda$remap$2(ReobfServer.java:76) ~[?:1.20.6-140-9e7f6c3]
        at io.papermc.paper.util.AtomicFiles.atomicWrite(AtomicFiles.java:24) ~[?:1.20.6-140-9e7f6c3]
        at io.papermc.paper.pluginremap.ReobfServer.remap(ReobfServer.java:68) ~[?:1.20.6-140-9e7f6c3]
        at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718) ~[?:?]
        at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?]
        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) ~[?:?]

Temporary solution: When a new plugin is installed, run Paper without Ignite so that Paper can generate remapped plugin jars. After that, you can enable Ignite again.

vectrixdevelops commented 1 month ago

This is fixed in the newest version of Ignite. (https://github.com/vectrix-space/ignite/releases/tag/v1.1.0)