SpongePowered / SpongeForge

A Forge mod that implements SpongeAPI
http://www.spongepowered.org/
MIT License
1.14k stars 306 forks source link

Plugins loggers are missing with SpongeForge 7.4.2 + Forge 2859 #3275

Closed LemADEC closed 2 years ago

LemADEC commented 2 years ago

I am currently running

Issue Description Some regressions are observed after upgrading from forge 2854 to 2859.

Specifically, the plugins loggers are missing in action. For example, I can't find any [nucleus] or [griefdefender] entries in the logs. Also, the magibridge plugin fails to start silently. In Nucleus, I've the command-logger module enabled without external file logging, but commands aren't logged in console. Basic commands are still showing in logs with '[minecraft/DedicatedServer]' logger, for example /nucleus info. I can find [Sponge] logs through.

Here are debug logs with just a different forge version: https://gist.github.com/LemADEC/bc1fa43932e7fb5f021d272ef3ebfd5e

dualspiral commented 2 years ago

It looks like Forge has updated log4j to 2.15 in 1.12.2, and I imagine that's possibly the problem. I'm slightly concerned that might be a breaking change for us API wise, but we're gonna have to go with it if we have to I think. I'll also have to see if we can update our Forge version in the build, the fact we still use FG 2 may hinder us there.

dualspiral commented 2 years ago

(Actually, our saving grace API wise might be that we use slf4j in the API, at least API 7...)

dualspiral commented 2 years ago

It looks like slf4j is not binding to log4j - the logging object that I can see when using a test plugin is that it appends the messages to a queue, but has no other delegate installed.

This may actually be a Forge issue as it's Forge itself that actually provides slf4j, but I couldn't say for sure at this moment.

dualspiral commented 2 years ago

Okay, I have it. It's something that Forge did - specifically this.

Basically, we use slf4j 1.7. When someone decided to fix Forge 1.12 for the log4j exploit, they included a slf4j impl library for slf4j for what will become version 2 - an unstable version in its own right. Now, I don't think Forge ever include slf4j in their 1.12.2 builds, because while the installer entry will include transitive entries when working with the MDK, it does not download them when installing the server itself. As a result, that dep is useless anyway and should be removed. We can see this by calling LoggerFactory.getLogger("test"); in a mod, no SF required - we get the following crash:

Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
        at com.example.examplemod.ExampleMod.init(ExampleMod.java:31) ~[ExampleMod.class:1.0]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312]
        at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637) ~[forge-1.12.2-14.23.5.2859.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219) ~[LoadController.class:?]
        at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197) ~[LoadController.class:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136) ~[LoadController.class:?]
        at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:749) ~[Loader.class:?]
        at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:108) ~[FMLServerHandler.class:?]
        at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:338) ~[FMLCommonHandler.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:219) ~[nz.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_312]
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
        at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101) ~[launchwrapper-1.12.jar:?]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_312]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_312]
        at com.example.examplemod.ExampleMod.init(ExampleMod.java:31) ~[ExampleMod.class:1.0]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312]
        at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637) ~[forge-1.12.2-14.23.5.2859.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219) ~[LoadController.class:?]
        at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197) ~[LoadController.class:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136) ~[LoadController.class:?]
        at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:749) ~[Loader.class:?]
        at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:108) ~[FMLServerHandler.class:?]
        at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:338) ~[FMLCommonHandler.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:219) ~[nz.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) ~[MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_312]

Thankfully, there is a workaround - delete the directory libraries/org/apache/logging/log4j/log4j-slf4j18-impl and all will work.

dualspiral commented 2 years ago

Removed in forge, but if you install 2859 then update to 2860, delete libraries/org/apache/logging/log4j/log4j-slf4j18-impl.

Dockter commented 2 years ago

This issue is not fixed on the client.

TheFrenchGhosty commented 2 years ago

Still a problem, SpongeForge 7.4.4 (or 7.4.5-RC4124) crash the client.

dualspiral commented 2 years ago

I ran 4124 on the client fine. If you want me to look at it, open a new issue with logs and reproduction steps - this issue is different to the loggers simply being missing.

TheFrenchGhosty commented 2 years ago

@dualspiral

[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:213]: Failed to start Minecraft:
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]: java.lang.reflect.InvocationTargetException
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]:    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]:    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]:    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]:    at java.lang.reflect.Method.invoke(Method.java:498)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]:    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]:    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]:    at org.multimc.EntryPoint.listen(EntryPoint.java:143)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launch:245]:    at org.multimc.EntryPoint.main(EntryPoint.java:34)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]: Caused by: java.util.ServiceConfigurationError: org.spongepowered.asm.service.IMixinServiceBootstrap: Provider org.spongepowered.asm.service.modlauncher.MixinServiceModLauncherBootstrap could not be instantiated
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.util.ServiceLoader.fail(ServiceLoader.java:232)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.util.ServiceLoader.access$100(ServiceLoader.java:185)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.util.ServiceLoader$LazyIterator.access$700(ServiceLoader.java:323)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.util.ServiceLoader$LazyIterator$2.run(ServiceLoader.java:407)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.security.AccessController.doPrivileged(Native Method)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:409)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at org.spongepowered.asm.service.MixinService.runBootServices(MixinService.java:77)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at org.spongepowered.asm.service.MixinService.<init>(MixinService.java:72)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at org.spongepowered.asm.service.MixinService.getInstance(MixinService.java:92)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at org.spongepowered.asm.service.MixinService.boot(MixinService.java:102)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at org.spongepowered.asm.launch.MixinBootstrap.<clinit>(MixinBootstrap.java:76)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at org.spongepowered.asm.launch.MixinTweaker.<init>(MixinTweaker.java:44)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at java.lang.Class.newInstance(Class.java:442)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at net.minecraft.launchwrapper.Launch.launch(Launch.java:98)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
[15:39:42] [main/INFO] [STDERR]: [org.multimc.onesix.OneSixLauncher:launchWithMainClass:214]:   ... 8 more
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]: Caused by: java.lang.SecurityException: class "org.spongepowered.asm.service.ServiceInitialisationException"'s signer information does not match signer information of other classes in the same package
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.ClassLoader.checkCerts(ClassLoader.java:891)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.ClassLoader.preDefineClass(ClassLoader.java:661)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.ClassLoader.defineClass(ClassLoader.java:754)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.security.AccessController.doPrivileged(Native Method)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.Class.getDeclaredConstructors0(Native Method)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.Class.getConstructor0(Class.java:3075)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.lang.Class.newInstance(Class.java:412)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
[15:39:42] [main/INFO] [STDERR]: [java.lang.Throwable:printStackTrace:644]:     ... 26 more
[15:39:42] [main/INFO] [STDOUT]: [org.multimc.EntryPoint:main:37]: Exiting with -1
[15:39:42] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: net.minecraftforge.fml.relauncher.FMLSecurityManager$ExitTrappedException
[15:39:42] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:    at net.minecraftforge.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:49)
[15:39:42] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:    at java.lang.SecurityManager.checkExit(SecurityManager.java:761)
[15:39:42] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:    at java.lang.Runtime.exit(Runtime.java:107)
[15:39:42] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:    at java.lang.System.exit(System.java:973)
[15:39:42] [main/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]:    at org.multimc.EntryPoint.main(EntryPoint.java:38)
Exception in thread "main" 
Process exited with code 1.

Version used: spongeforge-1.12.2-2838-7.4.5-RC4124.jar

dualspiral commented 2 years ago

open a new issue with logs and reproduction steps