
Using `Configuration` in mixin plugin causing failed with mods mixin into `Configuration`
SettingDust opened this issue ยท 5 comments
Error:
[15:40:18] [main/ERROR] [LaunchWrapper]: Unable to launch
java.lang.ClassNotFoundException: net.minecraft.client.main.Main
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_60]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_60]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_60]
at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_60]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:131) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_60]
at oolloo.jlw.Wrapper.invokeMain(Wrapper.java:110) [JavaWrapper.jar:?]
at oolloo.jlw.Wrapper.main(Wrapper.java:103) [JavaWrapper.jar:?]
Caused by: java.lang.NoClassDefFoundError: net/minecraftforge/common/config/Configuration
at com.cleanroommc.configanytime.ConfigAnytime.<clinit>(ConfigAnytime.java:33) ~[ConfigAnytime.class:?]
at youyihj.zenutils.impl.core.Configuration.<clinit>(Configuration.java:15) ~[Configuration.class:?]
at youyihj.zenutils.impl.mixin.vanilla.VanillaMixinPlugin.acceptTargets(VanillaMixinPlugin.java:47) ~[VanillaMixinPlugin.class:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:577) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:476) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:452) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:304) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:240) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:208) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.Proxy.transform(Proxy.java:71) ~[!mixinbooter-10.2.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
... 12 more
Caused by: java.lang.ClassNotFoundException: net.minecraftforge.common.config.Configuration
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_60]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_60]
at com.cleanroommc.configanytime.ConfigAnytime.<clinit>(ConfigAnytime.java:33) ~[ConfigAnytime.class:?]
at youyihj.zenutils.impl.core.Configuration.<clinit>(Configuration.java:15) ~[Configuration.class:?]
at youyihj.zenutils.impl.mixin.vanilla.VanillaMixinPlugin.acceptTargets(VanillaMixinPlugin.java:47) ~[VanillaMixinPlugin.class:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:577) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:476) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:452) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:304) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:240) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:208) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.Proxy.transform(Proxy.java:71) ~[!mixinbooter-10.2.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
... 12 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.ReEntrantTransformerError: Re-entrance error.
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:366) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:240) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:208) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.Proxy.transform(Proxy.java:71) ~[!mixinbooter-10.2.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_60]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_60]
at com.cleanroommc.configanytime.ConfigAnytime.<clinit>(ConfigAnytime.java:33) ~[ConfigAnytime.class:?]
at youyihj.zenutils.impl.core.Configuration.<clinit>(Configuration.java:15) ~[Configuration.class:?]
at youyihj.zenutils.impl.mixin.vanilla.VanillaMixinPlugin.acceptTargets(VanillaMixinPlugin.java:47) ~[VanillaMixinPlugin.class:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:577) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:476) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:452) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:304) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:240) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:208) ~[!mixinbooter-10.2.jar:?]
at org.spongepowered.asm.mixin.transformer.Proxy.transform(Proxy.java:71) ~[!mixinbooter-10.2.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
... 12 more
I see you've posted the updated logs, I can't do anything about re-entrance errors, you must stop that from happening from your side. This will occur when calling any concurrently loaded class.
In the above case, you could maybe run the ZenMixin::load
method when ILateMixinLoader
is queuing mixins to load.
I see you've posted the updated logs, I can't do anything about re-entrance errors, you must stop that from happening from your side. This will occur when calling any concurrently loaded class.
The mixin plugin loading the class. The mixin trying to transform the Configuration
since there is a mixin targeting it. But since the call site is from mixin plugin. Re-entrance happened. No relation to concurrently
in my mind. Of course, concurrency can cause it.
In the above case, you could maybe run the
ZenMixin::load
method whenILateMixinLoader
is queuing mixins to load.
ZenUtils is not my mod. My mod is the one that mixin into the Configuration