Client crashes when enabling infoBeeCount, infoHorseSpeed, and more, probably anything involving entities. (Fabric)
GFK283 opened this issue ยท 10 comments
I've been using minihud for several months and love the features, but some of them crash my client every time. It's basically like walking through a minefield when deciding which minihud settings to enable. This happens in single player and also to every person who has it installed on my server. This is the crash report I get:
crash-2024-12-28_20.52.58-client.txt
---- Minecraft Crash Report ----
// You're mean.
Time: 2024-12-28 20:52:58
Description: Unexpected error
java.lang.NoClassDefFoundError: com/llamalad7/mixinextras/lib/apache/commons/tuple/Pair
at knot//fi.dy.masa.minihud.data.EntitiesDataManager.requestBlockEntity(EntitiesDataManager.java:428)
at knot//fi.dy.masa.minihud.event.RenderHandler.getTargetedBlockEntity(RenderHandler.java:1774)
at knot//fi.dy.masa.minihud.event.RenderHandler.addLine(RenderHandler.java:792)
at knot//fi.dy.masa.minihud.event.RenderHandler.updateLines(RenderHandler.java:317)
at knot//fi.dy.masa.minihud.event.RenderHandler.onRenderGameOverlayPost(RenderHandler.java:164)
at knot//fi.dy.masa.malilib.event.RenderEventHandler.onRenderGameOverlayPost(RenderEventHandler.java:84)
at knot//net.minecraft.class_329.handler$ele000$malilib$onGameOverlayPost(class_329.java:9036)
at knot//net.minecraft.class_329.method_1753$mixinextras$wrapped$150(class_329.java:220)
at knot//net.minecraft.class_329.mixinextras$bridge$method_1753$mixinextras$wrapped$150$151(class_329.java)
at knot//net.minecraft.class_329.wrapMethod$dmp000$iris$handleHudHidingScreens(class_329.java:8048)
at knot//net.minecraft.class_329.method_1753(class_329.java)
at knot//net.minecraft.class_757.method_3192(class_757.java:896)
at knot//net.minecraft.class_310.method_1523(class_310.java:1285)
at knot//net.minecraft.class_310.method_1514(class_310.java:882)
at knot//net.minecraft.client.main.Main.main(Main.java:256)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Caused by: java.lang.ClassNotFoundException: com.llamalad7.mixinextras.lib.apache.commons.tuple.Pair
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:226)
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
... 18 more
A detailed walkthrough of the error, its code path and all known details is as follows:
-- Head --
Thread: Render thread
Stacktrace:
at knot//fi.dy.masa.minihud.data.EntitiesDataManager.requestBlockEntity(EntitiesDataManager.java:428)
at knot//fi.dy.masa.minihud.event.RenderHandler.getTargetedBlockEntity(RenderHandler.java:1774)
at knot//fi.dy.masa.minihud.event.RenderHandler.addLine(RenderHandler.java:792)
at knot//fi.dy.masa.minihud.event.RenderHandler.updateLines(RenderHandler.java:317)
at knot//fi.dy.masa.minihud.event.RenderHandler.onRenderGameOverlayPost(RenderHandler.java:164)
at knot//fi.dy.masa.malilib.event.RenderEventHandler.onRenderGameOverlayPost(RenderEventHandler.java:84)
at knot//net.minecraft.class_329.handler$ele000$malilib$onGameOverlayPost(class_329.java:9036)
at knot//net.minecraft.class_329.method_1753$mixinextras$wrapped$150(class_329.java:220)
at knot//net.minecraft.class_329.mixinextras$bridge$method_1753$mixinextras$wrapped$150$151(class_329.java)
at knot//net.minecraft.class_329.wrapMethod$dmp000$iris$handleHudHidingScreens(class_329.java:8048)
at knot//net.minecraft.class_329.method_1753(class_329.java)
-- Uptime --
Details:
JVM uptime: 17976.377s
Wall uptime: 17964.695s
High-res time: 17947.027s
Client ticks: 358412 ticks / 17920.600s
Stacktrace:
at knot//net.minecraft.class_310.method_1587(class_310.java:2501)
at knot//net.minecraft.class_310.method_54580(class_310.java:949)
at knot//net.minecraft.class_310.method_1514(class_310.java:905)
at knot//net.minecraft.client.main.Main.main(Main.java:256)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
-- Affected level --
Details:
All players: 1 total; [class_746['FATRAP'/42, l='ClientLevel', x=-214.27, y=90.19, z=35.16]]
Chunk stats: 47089, 1837 F: 13599 L: 0 U: 1058 C: 0
Level dimension: minecraft:overworld
Level spawn location: World: (0,66,32), Section: (at 0,2,0 in 0,4,2; chunk contains blocks 0,-64,32 to 15,319,47), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)
Level time: 80798984 game time, 1802650 day time
Server brand: fabric
Server type: Non-integrated multiplayer server
Tracked entity count: 435
-- Last reload --
Details:
Reload number: 1
Reload reason: initial
Finished: Yes
Packs: pointblank_resources, vanilla, fabric, accessories, additionalentityattributes, aether, alloy_forgery, amendments, armorposer, artifacts, aviator_dream, balm-fabric, barklings, bclib, betteradvancements, betterend, betternether, biomesoplenty, bobby, bosses_of_mass_destruction, cardinal-components, cardinal-components-base, cardinal-components-block, cardinal-components-chunk, cardinal-components-entity, cardinal-components-item, cardinal-components-level, cardinal-components-scoreboard, cardinal-components-world, cat_jam, chipped, chococraft, cloth-config, copperhopper, creeperoverhaul, cubes-without-borders, cumulus_menus, customportalapi, deeperdarker, dimensional_traders, disenchanting_table, dragonloot, dragonscale, dragonsteel, dwdsb, easy_mob_farm, easyanvils, elementalswords, emi, eternal_starlight, explorerscompass, fabric-api, fabric-api-base, fabric-api-lookup-api-v1, fabric-biome-api-v1, fabric-block-api-v1, fabric-block-view-api-v2, fabric-blockrenderlayer-v1, fabric-client-tags-api-v1, fabric-command-api-v1, fabric-command-api-v2, fabric-commands-v0, fabric-content-registries-v0, fabric-convention-tags-v1, fabric-convention-tags-v2, fabric-crash-report-info-v1, fabric-data-attachment-api-v1, fabric-data-generation-api-v1, fabric-dimensions-v1, fabric-entity-events-v1, fabric-events-interaction-v0, fabric-game-rule-api-v1, fabric-item-api-v1, fabric-item-group-api-v1, fabric-key-binding-api-v1, fabric-keybindings-v0, fabric-language-kotlin, fabric-lifecycle-events-v1, fabric-loot-api-v2, fabric-loot-api-v3, fabric-message-api-v1, fabric-model-loading-api-v1, fabric-networking-api-v1, fabric-object-builder-api-v1, fabric-particles-v1, fabric-recipe-api-v1, fabric-registry-sync-v0, fabric-renderer-api-v1, fabric-renderer-indigo, fabric-renderer-registries-v1, fabric-rendering-data-attachment-v1, fabric-rendering-fluids-v1, fabric-rendering-v0, fabric-rendering-v1, fabric-resource-conditions-api-v1, fabric-resource-loader-v0, fabric-screen-api-v1, fabric-screen-handler-api-v1, fabric-sound-api-v1, fabric-transfer-api-v1, fabric-transitive-access-wideners-v1, fabricloader, forgeconfigapiport, fwaystones, gravelminer, handcrafted, horsestatsmod, immediatelyfast, immersive_aircraft, iris, itemcollectors, jackfredlib, jackfredlib-base, jackfredlib-colour, jackfredlib-extracommandsourcedata, jackfredlib-gps, jackfredlib-lying, jackfredlib-toasts, jei, journeymap, jrftl, justhammers, keybindfixplus, laserbridges, lavender, lavender-md, lithium, livingthings, macawsbridgesbop, malilib, mcwbridges, mcwdoors, mcwfences, mcwfencesbop, mcwfurnitures, mcwfurnituresbop, mcwholidays, mcwlights, mcwpaintings, mcwpaths, mcwroofs, mcwstairs, mcwtrpdoors, mcwwindows, midnightlib, minihud, mining_dims, mm_shedaniel, modmenu, moonlight, more_beautiful_torches, more_bows_and_arrows, morediscs, movingelevators, mr_gamingbarns_guns, mstv-base, mstv-mfrv, mutantmonsters, mythicmetals, naturescompass, netherchested, nitrogen_internals, now-playing, observable, ore_creeper, owo, placeableblazerods, plushables, pointblank, polymer-blocks, polymer-core, polymer-resource-pack, polymorph, purediscslofi, purediscstrailstales, purediscstrickytrials, reinfbarrel, reinfchest, reinfcore, reinfshulker, resourcefulconfig, sawmill, scalablelux, shadowmounts, simplehats, simplemagnets, sky_aesthetics, smallships, snuffles, sodium, sodium-extra, soundsbegone, spawnermod, stacksarestacks, stellaris, supermartijn642corelib, supplementaries, tclayer, team_reborn_energy, terrablender, terraform-wood-api-v1, the_bumblezone, things, tide, toggleableitemframes, trashcans, travelersbackpack, travelerscompass, uselessreptile, vinurl, visuality, whereisit, wider_ender_chests, wormhole, wover, wover-block, wover-core, wover-events, wover-generator, wover-preset, wover-surface, wover-ui, wunderlib, xercapaint, yet_another_config_lib_v3, $polymer-resources, moonlight:mods_dynamic_assets, easyanvils:default_block_models
So my suggestion, would be to do the "Remove half of your mods" and find out the culprit breaking MiniHUD method; and based on the mods that you are using; I would recommend doing this in Single Player.
The Pair at that line is using a BlockEntity and NbtCompound object by Vanilla means. Pairs are heavily used in all of the Nbt operations and EntityDataSync classes; including a few instances of Triple
and Either
. They are using the MixinExtras Pair.of()
So, I would say that because of the large amount of mods that the poster has installed ... YIKES! ... with Polymer in particular; to totally disable your EntityDataSync features, and infoLinesUsesNbt
setting, based on the crash. Not sure if that would even prevent this. It''s definitely pointing towards a mod conflict problem where 'something' is messing with the BloeckEntity.createNbtWithIdentifyingData()
somehow causing it to not return a valid NbtCompound object or Null; either that or the BlockEntity
itself in the Game World is invalid for some reason which also would make Zero sense.
It looks like MiniHUD is using a Pair
class in some places that it probably shouldn't use.
Thanks guys, I do have a lot of mods! It's like an addiction at this point. This has been happening for a long time going back to when I had less mods though so that narrows things down a bit. It might be polymer but this predates that. I will try to investigate which mod is conflicting exactly.
All of these mods run pretty good otherwise though, lol.
crash-2024-12-29_16.05.30-client.txt
Okay, it didn't take very long to narrow it down. I got the same crash running miniHUD with only the Aether mod and its dependency, owolib.
Edit: owolib by itself doesn't cause the crash
Edit again: all 170 other mods loaded and it doesn't crash. It's The Aether.
This is caused by a higher version of Mixin Extras not containing this version of Pair. They are using an internal API from mixin extras when Minecraft has a Pair object and Apache also has an object a Pair object. This will break when mixin extras is updated within FLoader or Neo so this should be changed on the mod authors side.
The Minecraft Pair Object is useless; so I am migrating to use the Apache Commons version after speaking with Masa about it.
@GFK283 --> The 'Pair Object' fix has been deployed across Masa's mod ecosystem. Only Mods not effected by this directly is Item Scroller and Servux; So update them and try. I spent like all day on this.