Breaking a tree creates un-pick-up-able ghost items that constantly fall down; reloading into the world causes a crash.
MobButcher opened this issue ยท 4 comments
Describe the bug
While using the 921faac version and testing it for potentially fixing #180 and #182, while breaking trees I've come up with a couple of issues:
- Console threw warnings about leaked memory from client-server communication being reclaimed which were coinciding with the trees being broken.
- On one occasion breaking the tree caused the game to freeze for a second, at the same time throwing
Negative index in crash report handler
errors. The tree didn't break right away: there was a delay of a couple of seconds before the trunk was broken, and the leaves were hanging in the air for about a dozen of seconds before breaking off too. Both produced item drops (logs and saplings) that I couldn't pick up, and that were resetting once every two seconds or so. They were visually glitchy, with gitter in them while they were falling, and they reset back into the air. Breaking another tree produced same result. No ghost blocks, I could walk through the area that was once a tree trunk.
After that I used AntiGhost (twice, once for each tree) to request resend of the blocks around me, which threw a bunch of Mismatch in destroy block pos
warnings, then logged out and tried to reload the world. After loading it to 100%, it immediately crashes without rendering a single gameplay frame.
Seems like I would really have to go digging for the mod that causes this conflict. I'll use the unpatched 2.12.2 version for this, because it seems to be related, and crashing after trying to break a log is a much more reliable way to test for the conflict compared to this one.
Minecraft version
1.17.1
Fabric API version
0.37.0
Mod version
2.12.2 [Build 921faac]
Relevant log output
First crash:
https://paste.ee/p/jN2Mq
Second crash:
[13:57:45] [Render thread/INFO]: Preparing spawn area: 99%
[13:57:45] [Render thread/INFO]: Time elapsed: 18119 ms
[13:57:45] [Server thread/INFO]: Reloaded configs for wandering_collector (universal/world)
[13:57:45] [Server thread/INFO]: Reloaded configs for mousewheelie (universal/world)
[13:57:46] [Server thread/INFO]: Changing view distance to 7, from 10
java.lang.ClassCastException: net.minecraft.class_3222 incompatible with net.minecraft.class_742
at net.minecraft.class_1657.setCosmeticSettings(class_1657.java:11868)
at dev.tr7zw.firstperson.sync.SyncManager.run(SyncManager.java:69)
at java.base/java.lang.Thread.run(Thread.java:853)
[13:57:47] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.StackOverflowError: null
at Not Enough Crashes deobfuscated stack trace.(1.17.1+build.31) ~[?:?]
at java.util.HashMap.hash(HashMap.java:340) ~[?:?]
at java.util.HashMap.getNode(HashMap.java:570) ~[?:?]
at java.util.LinkedHashMap.get(LinkedHashMap.java:441) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.getProgress(PlayerAdvancementTracker:314) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.hasChildrenDone(PlayerAdvancementTracker:378) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.canSee(PlayerAdvancementTracker:355) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.updateDisplay(PlayerAdvancementTracker:328) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.updateDisplay(PlayerAdvancementTracker:348) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.updateDisplay(PlayerAdvancementTracker:344) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.updateDisplay(PlayerAdvancementTracker:348) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.updateDisplay(PlayerAdvancementTracker:344) ~[?:?]
at net.minecraft.advancement.PlayerAdvancementTracker.updateDisplay(PlayerAdvancementTracker:348) ~[?:?]
... (Repeats for hundreds of times)
at net.minecraft.advancement.PlayerAdvancementTracker.updateDisplay(PlayerAdvancementTracker:348)
at net.minecraft.advancement.PlayerAdvancementTracker.updateDisplay(PlayerAdvancementTracker:344)
at net.minecraft.advancement.PlayerAdvancementTracker.updateCompleted(PlayerAdvancementTracker:121)
at net.minecraft.advancement.PlayerAdvancementTracker.load(PlayerAdvancementTracker:170)
at net.minecraft.advancement.PlayerAdvancementTracker.<init>(PlayerAdvancementTracker:82)
at net.minecraft.server.PlayerManager.getAdvancementTracker(PlayerManager:812)
at net.minecraft.server.network.ServerPlayerEntity.<init>(ServerPlayerEntity:243)
at net.minecraft.server.PlayerManager.createPlayer(PlayerManager:448)
at net.minecraft.server.network.ServerLoginNetworkHandler.acceptPlayer(ServerLoginNetworkHandler:112)
at net.minecraft.server.network.ServerLoginNetworkHandler.redirect$dja000$handlePlayerJoin(ServerLoginNetworkHandler:1063)
at net.minecraft.server.network.ServerLoginNetworkHandler.tick(ServerLoginNetworkHandler:67)
at net.minecraft.network.ClientConnection.tick(ClientConnection:234)
at net.minecraft.server.ServerNetworkIo.tick(ServerNetworkIo:183)
at net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer:902)
at net.minecraft.server.MinecraftServer.tick(MinecraftServer:831)
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer:96)
at net.minecraft.server.MinecraftServer.handler$dnc000$modifiedRunLoop(MinecraftServer:13890)
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer:676)
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer:270)
at net.minecraft.server.MinecraftServer$$Lambda$9111/0x000000004df97d78.run(Unknown Source)
at java.lang.Thread.run(Thread.java:853)
The stack overflow in the stack trace is linked to the advancement system. Seems like something triggered an advancement and is basically looping over itself. (Like if you unlock an advancement down the tree and it tries to unlock the whole branch, but its parent is itself).
Though I don't do anything with the advancements so that's rather weird. The only thing I do is update the "broken count" of the logs in the stats, that's the only thing that I can feel as related to this.
I tried it a couple of times, couldn't reproduce, and the issue seems to have fixed itself after I rebooted my game. I'll monitor my modpack for a few days to see if anything pops up. The negative index in crash report handler error still appears from time to time, though, but apart from freezing the game for a second or two it doesn't do anything else. If there's some kind of advanced debugging I could do for you to figure it out, I'd love to help, though.
Was it on a new world? I don't know how advancements works too much but maybe it could have been because you broke your "first log"?
For the negative index that's kinda hard to tell where it could come from just with the text.