Fabric API

Fabric API

106M Downloads

Crash when connecting to server, mouseClicked event handler

ehoffman2 opened this issue ยท 8 comments

commented

Minecraft 1.20.1
Fabric Loader 0.14.22
Fabric API 0.87.0+1.20.1
No other mods, no datapacks (other than Default and Fabric Mod)

Running under Linux (have not tried Windoze)

Connecting to server, I get crash

---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.

Time: 2023-08-14 10:49:08
Description: mouseClicked event handler

java.lang.RuntimeException: Mixin transformation of net.minecraft.class_412 failed
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427)
	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:525)
	at net.minecraft.class_500.method_2548(class_500.java:273)
	at net.minecraft.class_500.method_2536(class_500.java:265)
	at net.minecraft.class_4267$class_4270.method_25402(class_4267.java:435)
	at net.minecraft.class_350.method_25402(class_350.java:327)
	at net.minecraft.class_4069.method_25402(class_4069.java:38)
	at net.minecraft.class_312.method_1611(class_312.java:98)
	at net.minecraft.class_437.method_25412(class_437.java:409)
	at net.minecraft.class_312.method_1601(class_312.java:98)
	at net.minecraft.class_312.method_22686(class_312.java:169)
	at net.minecraft.class_1255.execute(class_1255.java:102)
	at net.minecraft.class_312.method_22684(class_312.java:169)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)
	at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:237)
	at net.minecraft.class_310.method_1523(class_310.java:1244)
	at net.minecraft.class_310.method_1514(class_310.java:802)
	at net.minecraft.client.main.Main.main(Main.java:250)
	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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:243)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:278)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)
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:392)
	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)
	... 33 more
Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [fabric-networking-api-v1.client.mixins.json:accessor.ConnectScreenAccessor from mod fabric-networking-api-v1] from phase [DEFAULT] in config [fabric-networking-api-v1.client.mixins.json] FAILED during APPLY
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:638)
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:589)
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:379)
	... 36 more
Caused by: org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException: No candidates were found matching field_2411:Lnet/minecraft/class_2535; in net/minecraft/class_412 for fabric-networking-api-v1.client.mixins.json:accessor.ConnectScreenAccessor from mod fabric-networking-api-v1->@Accessor[FIELD_GETTER]::getConnection()Lnet/minecraft/class_2535; [INJECT Applicator Phase -> fabric-networking-api-v1.client.mixins.json:accessor.ConnectScreenAccessor from mod fabric-networking-api-v1 -> Apply Accessors ->  -> Locate -> fabric-networking-api-v1.client.mixins.json:accessor.ConnectScreenAccessor from mod fabric-networking-api-v1->@Accessor[FIELD_GETTER]::getConnection()Lnet/minecraft/class_2535;]
	at org.spongepowered.asm.mixin.gen.AccessorInfo.findTarget(AccessorInfo.java:519)
	at org.spongepowered.asm.mixin.gen.AccessorInfo.findTargetField(AccessorInfo.java:502)
	at org.spongepowered.asm.mixin.gen.AccessorInfo.locate(AccessorInfo.java:476)
	at org.spongepowered.asm.mixin.transformer.MixinTargetContext.generateAccessors(MixinTargetContext.java:1411)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyAccessors(MixinApplicatorStandard.java:1071)
	at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400)
	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)
	... 36 more


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427)
	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:525)
	at net.minecraft.class_500.method_2548(class_500.java:273)
	at net.minecraft.class_500.method_2536(class_500.java:265)
	at net.minecraft.class_4267$class_4270.method_25402(class_4267.java:435)
	at net.minecraft.class_350.method_25402(class_350.java:327)
	at net.minecraft.class_4069.method_25402(class_4069.java:38)
	at net.minecraft.class_312.method_1611(class_312.java:98)
	at net.minecraft.class_437.method_25412(class_437.java:409)
	at net.minecraft.class_312.method_1601(class_312.java:98)
	at net.minecraft.class_312.method_22686(class_312.java:169)
	at net.minecraft.class_1255.execute(class_1255.java:102)
	at net.minecraft.class_312.method_22684(class_312.java:169)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)

-- Affected screen --
Details:
	Screen name: net.minecraft.class_500
Stacktrace:
	at net.minecraft.class_437.method_25412(class_437.java:409)
	at net.minecraft.class_312.method_1601(class_312.java:98)
	at net.minecraft.class_312.method_22686(class_312.java:169)
	at net.minecraft.class_1255.execute(class_1255.java:102)
	at net.minecraft.class_312.method_22684(class_312.java:169)
	at org.lwjgl.glfw.GLFWMouseButtonCallbackI.callback(GLFWMouseButtonCallbackI.java:43)
	at org.lwjgl.system.JNI.invokeV(Native Method)
	at org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3474)
	at com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:237)
	at net.minecraft.class_310.method_1523(class_310.java:1244)
	at net.minecraft.class_310.method_1514(class_310.java:802)
	at net.minecraft.client.main.Main.main(Main.java:250)
	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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:243)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:278)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: Yes
	Packs: vanilla, fabric
Stacktrace:
	at net.minecraft.class_6360.method_36565(class_6360.java:49)
	at net.minecraft.class_310.method_1587(class_310.java:2413)
	at net.minecraft.class_310.method_1514(class_310.java:821)
	at net.minecraft.client.main.Main.main(Main.java:250)
	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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:243)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:278)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- System Details --
Details:
	Minecraft Version: 1.20.1
	Minecraft Version ID: 1.20.1
	Operating System: Linux (amd64) version 5.19.0-50-generic
	Java Version: 17.0.8, Private Build
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Private Build
	Memory: 1466494496 bytes (1398 MiB) / 2147483648 bytes (2048 MiB) up to 4294967296 bytes (4096 MiB)
	CPUs: 16
	Processor Vendor: AuthenticAMD
	Processor Name: AMD Ryzen 7 2700X Eight-Core Processor
	Identifier: AuthenticAMD Family 23 Model 8 Stepping 2
	Microarchitecture: Zen+
	Frequency (GHz): -0.00
	Number of physical packages: 1
	Number of physical CPUs: 8
	Number of logical CPUs: 16
	Graphics card #0 name: Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
	Graphics card #0 vendor: Advanced Micro Devices, Inc. [AMD/ATI] (0x1002)
	Graphics card #0 VRAM (MB): 258.00
	Graphics card #0 deviceId: 0x67df
	Graphics card #0 versionInfo: unknown
	Virtual memory max (MB): 22572.90
	Virtual memory used (MB): 11163.81
	Swap memory total (MB): 7810.00
	Swap memory used (MB): 377.50
	JVM Flags: 2 total; -Xms2048m -Xmx4096m
	Fabric Mods: 
		fabric-api: Fabric API 0.87.0+1.20.1
			fabric-api-base: Fabric API Base 0.4.30+7abfd51577
			fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.35+4d8536c977
			fabric-biome-api-v1: Fabric Biome API (v1) 13.0.10+b3afc78b77
			fabric-block-api-v1: Fabric Block API (v1) 1.0.9+e022e5d177
			fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.40+b3afc78b77
			fabric-client-tags-api-v1: Fabric Client Tags 1.1.1+97bb207577
			fabric-command-api-v1: Fabric Command API (v1) 1.2.33+f71b366f77
			fabric-command-api-v2: Fabric Command API (v2) 2.2.12+b3afc78b77
			fabric-commands-v0: Fabric Commands (v0) 0.2.50+df3654b377
			fabric-containers-v0: Fabric Containers (v0) 0.1.63+df3654b377
			fabric-content-registries-v0: Fabric Content Registries (v0) 4.0.9+b3afc78b77
			fabric-convention-tags-v1: Fabric Convention Tags 1.5.4+a1a980da77
			fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.18+aeb40ebe77
			fabric-data-generation-api-v1: Fabric Data Generation API (v1) 12.2.2+1e61dba177
			fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.53+8536527b77
			fabric-entity-events-v1: Fabric Entity Events (v1) 1.5.22+b3afc78b77
			fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.1+e91849a877
			fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.62+df3654b377
			fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.38+b04edc7a77
			fabric-item-api-v1: Fabric Item API (v1) 2.1.27+b3afc78b77
			fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.10+23d9108177
			fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.36+fb8d95da77
			fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.34+df3654b377
			fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.21+b3afc78b77
			fabric-loot-api-v2: Fabric Loot API (v2) 1.1.39+b3afc78b77
			fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.43+9e7660c677
			fabric-message-api-v1: Fabric Message API (v1) 5.1.7+3265161977
			fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.49+b3afc78b77
			fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.2+709a987177
			fabric-models-v0: Fabric Models (v0) 0.4.1+9386d8a777
			fabric-networking-api-v1: Fabric Networking API (v1) 1.3.10+eeb8eb3677
			fabric-networking-v0: Fabric Networking (v0) 0.3.50+df3654b377
			fabric-object-builder-api-v1: Fabric Object Builder API (v1) 11.1.1+6beca84877
			fabric-particles-v1: Fabric Particles (v1) 1.1.1+201a23a077
			fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.20+b3afc78b77
			fabric-registry-sync-v0: Fabric Registry Sync (v0) 2.3.2+4df89eb277
			fabric-renderer-api-v1: Fabric Renderer API (v1) 3.1.2+6bdb2ed077
			fabric-renderer-indigo: Fabric Renderer - Indigo 1.4.2+6bdb2ed077
			fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.45+df3654b377
			fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.34+b3afc78b77
			fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.27+b3afc78b77
			fabric-rendering-v0: Fabric Rendering (v0) 1.1.48+df3654b377
			fabric-rendering-v1: Fabric Rendering (v1) 3.0.7+b3afc78b77
			fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.5+ea08f9d877
			fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.9+132c48c177
			fabric-screen-api-v1: Fabric Screen API (v1) 2.0.7+b3afc78b77
			fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.29+b3afc78b77
			fabric-sound-api-v1: Fabric Sound API (v1) 1.0.12+b3afc78b77
			fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.0+cdf060b277
			fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 4.3.0+6c31357e77
		fabricloader: Fabric Loader 0.14.22
		java: OpenJDK 64-Bit Server VM 17
		minecraft: Minecraft 1.20.1
	Launched Version: 1.20.1
	Backend library: LWJGL version 3.3.1 SNAPSHOT
	Backend API: AMD Radeon RX 570 Series (polaris10, LLVM 15.0.7, DRM 3.47, 5.19.0-50-generic) GL version 4.6 (Core Profile) Mesa 22.2.5-0ubuntu0.1~22.04.3, AMD
	Window size: 1920x1080
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Client (map_client.txt)
	Graphics mode: fancy
	Resource Packs: vanilla, fabric
	Current Language: en_us
	CPU: 16x AMD Ryzen 7 2700X Eight-Core Processor
commented

To add, seems like MultiMC issue at the core

MultiMC/Launcher#4353

Step 6 in that bug pretty resumes what I'm seeing.

I don't know if Fabric loader can do something about this. Maybe detect the wrong mapping file (I don't know if this contains version information). Throw a descriptive error message (that would be specific to handling this MultiMC case though).

commented

@ehoffman2 Does this occur in older versions of Fabric API?

commented

I tried with different version of Fabric API (down to 0.83.0+1.20.1) with same result.
I tried with Fabric Loader 0.14.21, with different Fabric API version, and it works fine.

So, I think this is specific to Loader 0.14.22

That's a good hint I guess

commented

@ehoffman2 That makes no sense, since Loader 0.14.22 only had one change related to version handling. Hmmm.

commented

I'm using MultiMC, and just switch between Loader versions.

I have versions

  • LWJGL 3 version 3.3.1
  • Minecraft version 1.20.1
  • Intermediary Mappings version 1.20.1
  • Fabric Loader version 0.14.21 or 0.14.22

Loader mods

  • Fabric API version 0.87.0+1.20.1 (Downloaded from Modrinth)

I do have 2 resource packs, but not enabled in Minecraft (to test this issue), NoMorePumpkinBlur-1.19 and Rainbow+XP+bar+and+ping+1.18. But as I said, they are not enabled in Minecraft.

I will try with a fresh Minecraft instance, and checking Fabric API from CurseForge (just in case...)

commented

I believe this is caused by your launcher. MultiMC has had a long standing bug where it does not update interemediary when you update Minecraft. Deleting the .fabric folder may solve it as you mention are you using intermediary 1.20.1, if not create a new instance.

commented

This, and I also think I found the culprit.

When I updated the instance from 1.20 to 1.20.1, I was left with Intermediary Mapping 1.20. When I noticed the mistake, I did upgrade Intermediary Mappings to 1.20.1.

However, I think there was still cached mappings under
.fabric/remappedJars/minecraft-1.20.1-0.14.22/client-intermediary.jar

Just deleting this jar file and re-launching the instance, the loader (0.14.22) re-mapped the classes.

I had no issues with 0.14.21 because when I launched with that version, there was no cached mappings for this loader.

I guess this would be an enhancement, to detect the intermediary mappings version. I don't know if this file is generated by Fabric loader, or downloaded by MultiMC (in which case this would be more of a MultiMC bug, when changing the mappings version, to invalidate the previous mappings file).

Thanks

commented

I don't know if Fabric loader can do something about this. Maybe detect the wrong mapping file (I don't know if this contains version information). Throw a descriptive error message (that would be specific to handling this MultiMC case though).

This would be nice. I have gotten several (at least 3 or 4) bug reports on ModernFix that all turned out to be this issue.