CleanroomMC / GroovyScript

A scripting mod for Minecraft without the issues of other scripting mods.
GNU Lesser General Public License v3.0
38 stars 28 forks source link

Strange crash with Mekanism on 1.2.0 version #265

Closed mczph closed 1 week ago

mczph commented 1 week ago

This is the continuation of https://github.com/CleanroomMC/GroovyScript/issues/263 and https://github.com/CleanroomMC/GroovyScript/issues/262

This happens in all MEK branches (CE and CEU), disabling mek no longer crashes. But the strange thing is that running groovy script with MEK alone does not crash.

[18:23:08] [Client thread/INFO] [groovyscript]: Generating obfuscation map...
[18:23:08] [Client thread/INFO] [groovyscript]: Read 1864 field and 2652 method mapping names
[18:23:08] [Client thread/INFO] [groovyscript]: Overriding GroovyScript compat plugin 'Mekanism' by plugin 'Mekanism'
[18:23:09] [Client thread/FATAL] [LoliASM]: Minecraft ran into a problem! Report saved to: D:\Minecraft_Development\Interactions\.minecraft\crash-reports\crash-2024-10-26_18.23.09-client.txt
---- Minecraft Crash Report ----
// Lolis deobfuscated this stacktrace using MCP's stable-39 mappings.
// My bad.

Time: 2024-10-26 18:23:09 CST
Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from GroovyScript (groovyscript)
Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/cleanroommc/groovyscript/compat/mods/ModPropertyContainer
    at com.cleanroommc.groovyscript.compat.mods.ModSupport.setup(ModSupport.java:155)
    at com.cleanroommc.groovyscript.GroovyScript.onConstruction(GroovyScript.java:115)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637)
    at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
    at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
    at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
    at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
    at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
    at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
    at com.google.common.eventbus.EventBus.post(EventBus.java:217)
    at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)
    at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
    at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
    at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
    at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
    at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
    at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
    at com.google.common.eventbus.EventBus.post(EventBus.java:217)
    at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)
    at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:595)
    at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandlerMixin.java:232)
    at net.minecraft.client.Minecraft.init(MinecraftMixin.java:467)
    at net.minecraft.client.Minecraft.run(MinecraftMixin.java:7101)
    at net.minecraft.client.main.Main.main(SourceFile:123)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:105)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)
Caused by: java.lang.NoClassDefFoundError: com/cleanroommc/groovyscript/compat/mods/ModPropertyContainer
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at com.cleanroommc.groovyscript.compat.mods.ModSupport.setup(ModSupport.java:148)
    ... 44 more
Caused by: java.lang.ClassNotFoundException: com.cleanroommc.groovyscript.compat.mods.ModPropertyContainer
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 47 more
Caused by: java.lang.NullPointerException

No Mixin Metadata is found in the Stacktrace.
brachy84 commented 1 week ago

As you already said its the same issue as the other two and not our fault. MekCeu seems to be using removed api. Report to them.

Wizzerinus commented 1 week ago

This is probably on MekCE side

Although I'll say that these reports indicate that the gs dependents aren't updated enough to justify deleting old API

brachy84 commented 1 week ago

We didnt immediatly delete. We kept the api around deprecated for a few months

brachy84 commented 1 week ago

Its deprecated since #156 which was merged in 1.1.0 (released 16.6.24). The api was removed in 1.2.0 (released 6.10.24).

mczph commented 1 week ago

it happens also with vanilla mek

brachy84 commented 1 week ago

Then its not mekanisms fault (and still not GroovyScripts).

mczph commented 1 week ago

Is there any way to debug,since it happened only in a few instances and they worked well in a new instance during the test.

brachy84 commented 1 week ago

binary search for the offending mod

mczph commented 1 week ago

Screenshot_2024-10-27-11-37-25-191_com.discord-edit.jpg

For those who want to know more. I will give feedback when I have time.