[Bug] Crash when disconnecting any controller
Gamer95875 opened this issue ยท 3 comments
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
- Launch game
- Disconnect controller
- 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.
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.