Controlify

Controlify

609k Downloads

[Bug] Crash when disconnecting any controller

Gamer95875 opened this issue ยท 3 comments

commented

Current Behaviour

Minecraft crashed upon disconnecting my DualShock 4

Expected Behaviour

Game continues running, likely showing a toast notification that the controller was disconnected

Screenshots

No response

Reproduction Steps

  1. Launch game
  2. Disconnect controller
  3. Watch game freeze for a few seconds, then crash

Logs

---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.
 
Time: 2023-10-08 08:38:34
Description: Updating controller state
 
java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
	at dev.isxander.controlify.controller.joystick.mapping.UnmappedJoystickMapping$UnmappedAxis.getAxis(UnmappedJoystickMapping.java:80)
	at dev.isxander.controlify.controller.joystick.JoystickState.fromJoystick(JoystickState.java:122)
	at dev.isxander.controlify.controller.joystick.SingleJoystickController.updateState(SingleJoystickController.java:60)
	at dev.isxander.controlify.Controlify.wrapControllerError(Controlify.java:551)
	at dev.isxander.controlify.Controlify.tick(Controlify.java:471)
	at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
	at net.minecraft.class_310.handler$zgo000$fabric-lifecycle-events-v1$onStartTick(class_310.java:6101)
	at net.minecraft.class_310.method_1574(class_310.java)
	at net.minecraft.class_310.method_1523(class_310.java:1237)
	at net.minecraft.class_310.method_1514(class_310.java:856)
	at net.minecraft.client.main.Main.main(Main.java:253)
	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)
 
 
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
 
-- Head --
Thread: Render thread
Stacktrace:
	at dev.isxander.controlify.controller.joystick.mapping.UnmappedJoystickMapping$UnmappedAxis.getAxis(UnmappedJoystickMapping.java:80)
	at dev.isxander.controlify.controller.joystick.JoystickState.fromJoystick(JoystickState.java:122)
	at dev.isxander.controlify.controller.joystick.SingleJoystickController.updateState(SingleJoystickController.java:60)
	at dev.isxander.controlify.Controlify.wrapControllerError(Controlify.java:551)
	at dev.isxander.controlify.Controlify.tick(Controlify.java:471)
	at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
	at net.minecraft.class_310.handler$zgo000$fabric-lifecycle-events-v1$onStartTick(class_310.java:6101)
 
-- Affected controller --
Details:
	Controller name: Wireless Controller Touchpad
	Controller identification: ControllerType[friendlyName=Unknown, mappingId=unknown, themeId=unknown, forceJoystick=false, dontLoad=false]
	Controller type: dev.isxander.controlify.controller.joystick.SingleJoystickController
Stacktrace:
	at dev.isxander.controlify.Controlify.wrapControllerError(Controlify.java:551)
	at dev.isxander.controlify.Controlify.tick(Controlify.java:471)
	at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$0(ClientTickEvents.java:34)
	at net.minecraft.class_310.handler$zgo000$fabric-lifecycle-events-v1$onStartTick(class_310.java:6101)
	at net.minecraft.class_310.method_1574(class_310.java)
	at net.minecraft.class_310.method_1523(class_310.java:1237)
	at net.minecraft.class_310.method_1514(class_310.java:856)
	at net.minecraft.client.main.Main.main(Main.java:253)
	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)
 
-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: Yes
	Packs: vanilla, file/Faithful 32x, file/my resource pack, fabric
Stacktrace:
	at net.minecraft.class_6360.method_36565(class_6360.java:49)
	at net.minecraft.class_310.method_1587(class_310.java:2488)
	at net.minecraft.class_310.method_1514(class_310.java:875)
	at net.minecraft.client.main.Main.main(Main.java:253)
	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)
 
-- System Details --
Details:
	Minecraft Version: 1.20.2
	Minecraft Version ID: 1.20.2
	Operating System: Linux (amd64) version 6.4.12-gentoo
	Java Version: 17.0.7, Flathub
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Flathub
	Memory: 255134064 bytes (243 MiB) / 1244659712 bytes (1187 MiB) up to 2147483648 bytes (2048 MiB)
	CPUs: 16
	Processor Vendor: AuthenticAMD
	Processor Name: AMD Ryzen 7 3800XT 8-Core Processor
	Identifier: AuthenticAMD Family 23 Model 113 Stepping 0
	Microarchitecture: Zen 2
	Frequency (GHz): -0.00
	Number of physical packages: 1
	Number of physical CPUs: 8
	Number of logical CPUs: 16
	Graphics card #0 name: GA104 [GeForce RTX 3060]
	Graphics card #0 vendor: NVIDIA Corporation (0x10de)
	Graphics card #0 VRAM (MB): 16416.00
	Graphics card #0 deviceId: 0x2487
	Graphics card #0 versionInfo: unknown
	Virtual memory max (MB): 16011.97
	Virtual memory used (MB): 23791.34
	Swap memory total (MB): 0.00
	Swap memory used (MB): 0.00
	JVM Flags: 2 total; -Xms512m -Xmx2048m
	Fabric Mods: 
		controlify: Controlify 1.7.0-beta.2+1.20
			com_github_llamalad7_mixinextras: MixinExtras 0.2.0-beta.9
			dev_isxander_libsdl4j: libsdl4j 2.28.2-11
			org_hid4java_hid4java: hid4java 0.7.0
			org_quiltmc_quilt-json5: quilt-json5 1.0.3
		fabric-api: Fabric API 0.89.2+1.20.2
			fabric-api-base: Fabric API Base 0.4.32+fce67b32a0
			fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.40+fce67b32a0
			fabric-biome-api-v1: Fabric Biome API (v1) 13.0.11+86b12645a0
			fabric-block-api-v1: Fabric Block API (v1) 1.0.11+73761d2ea0
			fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.0+73761d2ea0
			fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.42+f4b7e424a0
			fabric-client-tags-api-v1: Fabric Client Tags 1.1.3+86b12645a0
			fabric-command-api-v1: Fabric Command API (v1) 1.2.35+f71b366fa0
			fabric-command-api-v2: Fabric Command API (v2) 2.2.14+86b12645a0
			fabric-commands-v0: Fabric Commands (v0) 0.2.52+df3654b3a0
			fabric-containers-v0: Fabric Containers (v0) 0.1.71+df3654b3a0
			fabric-content-registries-v0: Fabric Content Registries (v0) 5.0.3+0ba8e9cea0
			fabric-convention-tags-v1: Fabric Convention Tags 1.5.6+f4b7e424a0
			fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.19+f4b7e424a0
			fabric-data-generation-api-v1: Fabric Data Generation API (v1) 13.1.1+bbae80faa0
			fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.55+b1229956a0
			fabric-entity-events-v1: Fabric Entity Events (v1) 1.5.24+f4b7e424a0
			fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.8+daef22a2a0
			fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.67+df3654b3a0
			fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.39+f4b7e424a0
			fabric-item-api-v1: Fabric Item API (v1) 2.1.31+43511215a0
			fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.12+f4b7e424a0
			fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.37+f4b7e424a0
			fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.35+df3654b3a0
			fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.25+3bafade3a0
			fabric-loot-api-v2: Fabric Loot API (v2) 2.0.1+0ba8e9cea0
			fabric-message-api-v1: Fabric Message API (v1) 6.0.0+fce67b32a0
			fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.53+f4b7e424a0
			fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.4+f4b7e424a0
			fabric-models-v0: Fabric Models (v0) 0.4.3+9386d8a7a0
			fabric-networking-api-v1: Fabric Networking API (v1) 3.0.7+74a33ae7a0
			fabric-object-builder-api-v1: Fabric Object Builder API (v1) 12.1.0+b1b4f7b0a0
			fabric-particles-v1: Fabric Particles (v1) 1.1.3+f4b7e424a0
			fabric-recipe-api-v1: Fabric Recipe API (v1) 2.0.4+43511215a0
			fabric-registry-sync-v0: Fabric Registry Sync (v0) 4.0.2+34a3e0e2a0
			fabric-renderer-api-v1: Fabric Renderer API (v1) 3.2.0+2034447ca0
			fabric-renderer-indigo: Fabric Renderer - Indigo 1.5.0+2034447ca0
			fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.47+df3654b3a0
			fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.38+73761d2ea0
			fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.29+f4b7e424a0
			fabric-rendering-v0: Fabric Rendering (v0) 1.1.50+df3654b3a0
			fabric-rendering-v1: Fabric Rendering (v1) 3.0.9+86b12645a0
			fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.8+43511215a0
			fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.10+86b12645a0
			fabric-screen-api-v1: Fabric Screen API (v1) 2.0.10+0ba8e9cea0
			fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.37+86b12645a0
			fabric-sound-api-v1: Fabric Sound API (v1) 1.0.13+f4b7e424a0
			fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.7+109a65e5a0
			fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 5.0.2+fce67b32a0
		fabricloader: Fabric Loader 0.14.22
		java: OpenJDK 64-Bit Server VM 17
		minecraft: Minecraft 1.20.2
		yet_another_config_lib_v3: YetAnotherConfigLib 3.2.1+1.20.2
			com_twelvemonkeys_common_common-image: common-image 3.10.0-SNAPSHOT
			com_twelvemonkeys_common_common-io: common-io 3.10.0-SNAPSHOT
			com_twelvemonkeys_common_common-lang: common-lang 3.10.0-SNAPSHOT
			com_twelvemonkeys_imageio_imageio-core: imageio-core 3.10.0-SNAPSHOT
			com_twelvemonkeys_imageio_imageio-metadata: imageio-metadata 3.10.0-SNAPSHOT
			com_twelvemonkeys_imageio_imageio-webp: imageio-webp 3.10.0-SNAPSHOT
			org_quiltmc_parsers_gson: gson 0.2.1
			org_quiltmc_parsers_json: json 0.2.1
	JVM uptime in seconds: 280.773
	Launched Version: 1.20.2
	Backend library: LWJGL version 3.3.2-snapshot
	Backend API: NVIDIA GeForce RTX 3060/PCIe/SSE2 GL version 3.2.0 NVIDIA 535.98, NVIDIA Corporation
	Window size: 1024x600
	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, file/Faithful 32x, file/my resource pack, fabric
	Current Language: en_us
	Locale: en_AU
	CPU: 16x AMD Ryzen 7 3800XT 8-Core Processor

Mod Version

1.7.0-beta.2+1.20, Minecraft 1.20.2

Controller

DualShock 4

Bluetooth

  • Yes

Operating System

Linux/SteamOS

ARM

  • Yes

Additional Information

Minecraft's launched via Prism Launcher, installed via Flatpak, on Gentoo (with the same kernel drivers for the following controllers as on a typical Linux install), i can reproduce this crash by disconnecting any of my controllers, which include a Switch Pro Controller, a Wii Remote, which can cause the game to crash when any accesory is disconnected (Nunchuck, MotionPlus, Classic Controller, etc), and a GameCube Controller, connected via an adapter

Just to make sure...

  • I have made sure I am using the latest version of Controlify for the latest version of Minecraft.
  • I have made sure there are no other issues describing the same problem on the issue tracker.
commented

This has been a huge issue for me as well.

commented

This was fixed long ago. Please keep up to date

commented

Hey! I've been struggling with Controllify crashing as well and searched the issue tracker, I have this same problem. I'm using a Steam Controller and connecting it with a USB cable.
When trying to connect the controller in-game it will not show up in the menu. Disconnecting the controller causes it to freeze and it doesn't close at all until I manually end the task.