FabricMC/Mixin

Ignore Classes That Are Too New

gudenau opened this issue · 1 comments

When trying to run with Mixins on Java 17 (don't ask) it freaks out and causes several base classes to fail to load because the class version is too new.

It would be best to ignore this, especially since they are part of the STD lib and not touch them. In this case it would allow for Mixin to continue to work with new JVM versions even if it is discontinued in the future.

Example log output:

[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/util/Map$Entry (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/util/Map$Entry (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/util/Map$Entry (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/util/Map$Entry (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:50] [main/WARN] (mixin) Error loading class: java/lang/invoke/MethodHandles$Lookup (java.lang.IllegalArgumentException: Unsupported class file major version 61)
[17:22:51] [main/WARN] (mixin) Error loading class: java/util/Collection (java.lang.IllegalArgumentException: Unsupported class file major version 61)
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:228)
	at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)
	at net.fabricmc.devlaunchinjector.Main.main(Main.java:86)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	... 3 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
	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.gudenau.minecraft.tps.hacks.Bootstrap$CustomTransformer.transformClassBytes(Bootstrap.java:143)
	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.client.main.Main.main(Main.java:118)
	... 8 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinPreProcessorException: Attach error for fabric-lifecycle-events-v1.mixins.json:WorldMixin during activity: [Transform -> Method onPurgeRemovedBlockEntities(Ljava/util/List;Ljava/util/Collection;)Z -> INVOKEINTERFACE -> java/util/Collection::iterator()Ljava/util/Iterator;]
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:300)
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.createContextFor(MixinPreProcessorStandard.java:264)
	at org.spongepowered.asm.mixin.transformer.MixinInfo.createContextFor(MixinInfo.java:1272)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:287)
	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)
	... 16 more
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: java.util.Collection
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transformMemberReference(MixinPreProcessorStandard.java:768)
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transformMethod(MixinPreProcessorStandard.java:754)
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.transform(MixinPreProcessorStandard.java:720)
	at org.spongepowered.asm.mixin.transformer.MixinPreProcessorStandard.attach(MixinPreProcessorStandard.java:294)
	... 22 more
Caused by: java.lang.ClassNotFoundException: java.util.Collection
	... 26 more

This has already been fixed, loader 0.11.2 contains the fix.