Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client crashes when enabling infoBeeCount, infoHorseSpeed, and more, probably anything involving entities. (Fabric) #372

Closed
GFK283 opened this issue Dec 29, 2024 · 10 comments

Comments

@GFK283
Copy link

GFK283 commented Dec 29, 2024

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

@maruohon
Copy link
Owner

It looks like MiniHUD is using a Pair class in some places that it probably shouldn't use.

@sakura-ryoko
Copy link

sakura-ryoko commented Dec 29, 2024

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.

@sakura-ryoko
Copy link

sakura-ryoko commented Dec 29, 2024

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.

@GFK283
Copy link
Author

GFK283 commented Dec 29, 2024

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.

@GFK283
Copy link
Author

GFK283 commented Dec 29, 2024

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.

@Dragon-Seeker
Copy link

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.

@sakura-ryoko
Copy link

The Minecraft Pair Object is useless; so I am migrating to use the Apache Commons version after speaking with Masa about it.

@sakura-ryoko
Copy link

@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.

@GFK283
Copy link
Author

GFK283 commented Dec 30, 2024

Thank you so much, trying now.

@GFK283
Copy link
Author

GFK283 commented Dec 30, 2024

It works perfectly! I'm so glad to have it fixed and I really appreciate all of the time you spend on it!

@GFK283 GFK283 closed this as completed Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants