AnalyzerException on load
Fourmisain opened this issue ยท 3 comments
I'm getting this with only Biome Makeover 1.3.3 (the reupload from 5 minutes ago, but also the one before) and Fabric API 0.32.5:
org.objectweb.asm.tree.analysis.AnalyzerException: Error at instruction 800: Cannot invoke "org.spongepowered.asm.mixin.transformer.ClassInfo.hasSuperClass(org.spongepowered.asm.mixin.transformer.ClassInfo)" because the return value of "org.spongepowered.asm.mixin.transformer.ClassInfo.forType(org.objectweb.asm.Type, org.spongepowered.asm.mixin.transformer.ClassInfo$TypeLookup)" is null
at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:296)
at org.spongepowered.asm.util.Locals.generateLocalVariableTable(Locals.java:394)
at org.spongepowered.asm.util.Locals.getGeneratedLocalVariableTable(Locals.java:363)
at org.spongepowered.asm.util.Locals.getLocalVariableAt(Locals.java:317)
at org.spongepowered.asm.util.Locals.getLocalVariableAt(Locals.java:287)
at org.spongepowered.asm.util.Locals.getLocalsAt(Locals.java:174)
at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.inject(CallbackInjector.java:439)
at org.spongepowered.asm.mixin.injection.code.Injector.inject(Injector.java:264)
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.inject(InjectionInfo.java:385)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1284)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1042)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:395)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:320)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:345)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:569)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:351)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178)
at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23)
at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157)
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
at net.minecraft.class_2794.(class_2794.java:53)
at net.minecraft.class_2378.method_29114(class_2378.java:232)
at net.minecraft.class_2378.method_29110(class_2378.java:246)
at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:723)
at net.minecraft.class_2378.(class_2378.java:245)
at net.minecraft.class_2966.method_12851(class_2966.java:42)
at net.minecraft.client.main.Main.main(Main.java:137)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.NullPointerException: Cannot invoke "org.spongepowered.asm.mixin.transformer.ClassInfo.hasSuperClass(org.spongepowered.asm.mixin.transformer.ClassInfo)" because the return value of "org.spongepowered.asm.mixin.transformer.ClassInfo.forType(org.objectweb.asm.Type, org.spongepowered.asm.mixin.transformer.ClassInfo$TypeLookup)" is null
at org.spongepowered.asm.util.asm.MixinVerifier.isAssignableFrom(MixinVerifier.java:104)
at org.objectweb.asm.tree.analysis.SimpleVerifier.isSubTypeOf(SimpleVerifier.java:213)
at org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(BasicVerifier.java:301)
at org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(BasicVerifier.java:43)
at org.objectweb.asm.tree.analysis.Frame.execute(Frame.java:521)
at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:188)
... 43 more
Yeah as far as I'm aware this is a bug with mixin, I've asked for help with it but nobody seems to have any solution.
If anyone has any ideas, lemme know.
It's caused by this mixin, https://github.com/Lemonszz/Biome-Makeover/blob/master/src/main/java/party/lemons/biomemakeover/mixin/NoiseChunkGeneratorMixin.java#L52
The content of the mixin is irrelevant.
The error isn't harmful in any way, the game works as expected, this is more annoying than harmful
I just realized that it was you who I saw in discord, asking about it (since February too)!
This seems to be the place where the exception gets logged:
https://github.com/SpongePowered/Mixin/blob/b1cd46c8c4960eae026bcd6dd9bafb59cafa4d52/src/main/java/org/spongepowered/asm/util/Locals.java#L397-L401
Interestingly, it doesn't abort and the rest of the code is still executed, so that may be why it still works in the end.
This looks like something that should be asked in the SpongePowered #mixin
discord channel or potentially even opened as an issue on the Mixin GitHub.
I think Fabric uses a slightly modified Mixin version, though I'm guessing the error is unrelated to that.