quiqueck / BetterNether

BetterNether Mod
https://modrinth.com/mod/betternether
Other
20 stars 27 forks source link

[Bug] ASM mixin error [Fabric 1.19.2] #129

Open xR4YM0ND opened 1 year ago

xR4YM0ND commented 1 year ago

What happened?

Error loading class: org/spongepowered/asm/synthetic/args/Args$4 This error is only shown in the console, not in the latest.log

it happens with another mod in this pack, but i don't know which mod. When i remove / disable Better Nether , the error is gone.

Error starts at line 419

console.log

BetterNether

7.1.3

BCLib

2.1.6

Fabric API

0.76.0

Fabric Loader

0.14.19

Minecraft

1.19.2

Relevant log output

https://gist.github.com/SpigotDE/23c43932e5d004ac4a4ed1bdf377f904

Other Mods

No response

QinnShou commented 1 year ago

I have a similar error on the server terminal. disabling mods narrows me down to this specific mod, BetterNether.

QinnShou commented 1 year ago

What happened? Error loading class: org/spongepowered/asm/synthetic/args/Args$4

2.1.6 BCLib

0.76.0 Fabric API

0.76.0 Fabric Loader

0.14.19 Minecraft

1.19.2 Relevant log output


[06:58:13] [main/WARN]: Error loading class: org/spongepowered/asm/synthetic/args/Args$4 (java.lang.ClassNotFoundException: org/spongepowered/asm/synthetic/args/Args$4)
org.objectweb.asm.tree.analysis.AnalyzerException: Error at instruction 114: 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:273)
        at org.spongepowered.asm.util.Locals.generateLocalVariableTable(Locals.java:859)
        at org.spongepowered.asm.util.Locals.getGeneratedLocalVariableTable(Locals.java:828)
        at org.spongepowered.asm.util.Locals.getLocalVariableAt(Locals.java:782)
        at org.spongepowered.asm.util.Locals.getLocalVariableAt(Locals.java:752)
        at org.spongepowered.asm.util.Locals.getLocalsAt(Locals.java:440)
        at org.spongepowered.asm.util.Locals.getLocalsAt(Locals.java:336)
        at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.preInject(CallbackInjector.java:479)
        at org.spongepowered.asm.mixin.injection.code.Injector.preInject(Injector.java:258)
        at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.preInject(InjectionInfo.java:436)
        at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1371)
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1062)
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:402)
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327)
        at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
        at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
        at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
        at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
        at net.minecraft.class_5872.<clinit>(class_5872.java:9)
        at net.minecraft.class_5871.method_33968(class_5871.java:20)
        at com.mojang.serialization.codecs.RecordCodecBuilder.mapCodec(RecordCodecBuilder.java:76)
        at net.minecraft.class_5871.<clinit>(class_5871.java:16)
        at net.minecraft.class_2939.<clinit>(class_2939.java:32)
        at net.minecraft.class_5463.<clinit>(class_5463.java:21)
        at net.minecraft.class_5458.method_30572(class_5458.java:66)
        at net.minecraft.class_5458.method_44104(class_5458.java:98)
        at net.minecraft.class_5458.method_30566(class_5458.java:105)
        at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)
        at net.minecraft.class_5458.<clinit>(class_5458.java:104)
        at net.minecraft.class_2378.<clinit>(class_2378.java:326)
        at net.minecraft.class_2966.method_12851(class_2966.java:50)
        at net.minecraft.server.Main.main(Main.java:98)
        at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462)
        at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
        at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)
        at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)
        at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)
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:212)
        at org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(BasicVerifier.java:400)
        at org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(BasicVerifier.java:44)
        at org.objectweb.asm.tree.analysis.Frame.executeInvokeInsn(Frame.java:682)
        at org.objectweb.asm.tree.analysis.Frame.execute(Frame.java:609)
        at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:165)
        ... 42 more
rinebergc commented 1 year ago

Also encountering a similar issue, though the error thrown is: Error loading class: org/spongepowered/asm/synthetic/args/Args$6 and not: Error loading class: org/spongepowered/asm/synthetic/args/Args$4

Testing has narrowed down the issue to specifically this mod.

BetterNether

7.1.3

BCLib

2.1.6

Fabric API

0.76.0

Fabric Loader

0.14.21

Minecraft

1.19.2

Relevant log output

[main/WARN]: Error loading class: org/spongepowered/asm/synthetic/args/Args$6 (java.lang.ClassNotFoundException: org/spongepowered/asm/synthetic/args/Args$6)
org.objectweb.asm.tree.analysis.AnalyzerException: Error at instruction 114: 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:273)
    at org.spongepowered.asm.util.Locals.generateLocalVariableTable(Locals.java:859)
    at org.spongepowered.asm.util.Locals.getGeneratedLocalVariableTable(Locals.java:828)
    at org.spongepowered.asm.util.Locals.getLocalVariableAt(Locals.java:782)
    at org.spongepowered.asm.util.Locals.getLocalVariableAt(Locals.java:752)
    at org.spongepowered.asm.util.Locals.getLocalsAt(Locals.java:440)
    at org.spongepowered.asm.util.Locals.getLocalsAt(Locals.java:336)
    at org.spongepowered.asm.mixin.injection.callback.CallbackInjector.preInject(CallbackInjector.java:479)
    at org.spongepowered.asm.mixin.injection.code.Injector.preInject(Injector.java:258)
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.preInject(InjectionInfo.java:436)
    at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1370)
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:1062)
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:402)
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327)
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:112)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    at net.minecraft.class_5872.<clinit>(class_5872.java:9)
    at net.minecraft.class_5871.method_33968(class_5871.java:20)
    at com.mojang.serialization.codecs.RecordCodecBuilder.mapCodec(RecordCodecBuilder.java:76)
    at net.minecraft.class_5871.<clinit>(class_5871.java:16)
    at net.minecraft.class_2939.<clinit>(class_2939.java:32)
    at net.minecraft.class_5463.<clinit>(class_5463.java:21)
    at net.minecraft.class_5458.method_30572(class_5458.java:66)
    at net.minecraft.class_5458.method_44104(class_5458.java:98)
    at net.minecraft.class_5458.method_30566(class_5458.java:105)
    at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)
    at net.minecraft.class_5458.<clinit>(class_5458.java:104)
    at net.minecraft.class_2378.<clinit>(class_2378.java:326)
    at net.minecraft.class_2966.method_12851(class_2966.java:50)
    at net.minecraft.client.main.Main.method_44604(Main.java:161)
    at net.minecraft.client.main.Main.main(Main.java:51)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:71)
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:212)
    at org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(BasicVerifier.java:400)
    at org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(BasicVerifier.java:44)
    at org.objectweb.asm.tree.analysis.Frame.executeInvokeInsn(Frame.java:682)
    at org.objectweb.asm.tree.analysis.Frame.execute(Frame.java:609)
    at org.objectweb.asm.tree.analysis.Analyzer.analyze(Analyzer.java:165)
    ... 44 more
quiqueck commented 1 year ago

Does it happen with just betternether and bclib?

xR4YM0ND commented 1 year ago

Not for me.

But you know how it is when you have 200 mods ....

QinnShou commented 1 year ago

I have around 20 mods, but this is the only one throwing this error

Here's my list of mods: You're in grave danger Worldedit Wildlife + Geckolib Twilight Forest Patchouli MCDW, MCDAR, MCDA (Minecraft dungeon series) Lithium Flan Falling Tree Fabric Tailor Fabric Homes Enhanced Celestials + Corgilib Eldritch mobs Create Companion

All in 1.19.2 version, hope this helps

xR4YM0ND commented 1 year ago

Same mods are:

rinebergc commented 1 year ago

@quiqueck I've done some more testing. It appears to be related to Create; error disappears when either mod is removed.

Recreated the error under the following conditions:

bclib 2.1.7
betternether 7.1.4
create 0.5.0.i-1017+1.19.2
fabric-api 0.76.0+1.19.2
fabricloader 0.14.21
java 17
minecraft 1.19.2

Full log: latest.log

QinnShou commented 1 year ago

So, it's a conflict between mods. Thanks for confirming this! @rinebergc