altaiiiir / Viner

Welcome to Viner, a mod inspired by the classic Veinminer! With Viner, you can mine blocks in veins, saving you precious time from digging into walls. It's all about efficiency!
https://modrinth.com/mod/viner
3 stars 5 forks source link

Game crashes if you add Sculk to the file and then try to veinmine it #3

Closed Traehgniw closed 10 months ago

Traehgniw commented 10 months ago

I tried to veinmine some sculk with an unenchanted stone hoe after adding "minecraft:sculk" to the block list and got a game crash with a stackoverflow

the error was [21:02:06] [Server thread/ERROR] [ne.mi.ev.EventBus/EVENTBUS]: Exception caught during firing event: null Index: 18 Listeners: 0: HIGHEST 1: net.minecraftforge.eventbus.EventBus$$Lambda$1596/0x0000000801322248@7b7f80ea 2: ASM: top.theillusivec4.curios.common.event.CuriosEventHandler@15338859 onBreakBlock(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 3: HIGH 4: ASM: class dev.architectury.event.forge.EventHandlerImplCommon event(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 5: ASM: com.blakebr0.pickletweaks.tweaks.TweakToolBreaking@376063ff onBreakBlock(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 6: NORMAL 7: ASM: class tschipp.carryon.events.CommonEvents onBreakBlock(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 8: ASM: com.github.L_Ender.cataclysm.event.ServerEventHandler@153d1202 onBreakBlock(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 9: net.minecraftforge.eventbus.EventBus$$Lambda$1596/0x0000000801322248@54c91a4f 10: ASM: class baguchan.tofucraft.CommonEvents onBlockBreaked(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 11: ASM: class twilightforest.loot.modifiers.GiantToolGroupingModifier breakBlock(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 12: ASM: class twilightforest.events.ToolEvents damageToolsExtra(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 13: ASM: class twilightforest.events.ProgressionEvents breakBlock(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 14: ASM: class twilightforest.events.EntityEvents onCasketBreak(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 15: net.minecraftforge.eventbus.EventBus$$Lambda$1596/0x0000000801322248@603817a0 16: ASM: com.refinedmods.refinedstorage.apiimpl.network.NetworkNodeListener@765466dc onBlockBreak(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 17: ASM: com.natamus.treeharvester.forge.events.ForgeTreeCutEvents@5ca6784e onTreeHarvest(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 18: ASM: class com.ael.viner.Viner$ClientModEvents onBlockBroken(Lnet/minecraftforge/eventbus/api/Event;)V 19: LOWEST 20: net.minecraftforge.eventbus.EventBus$$Lambda$1596/0x0000000801322248@ecd4ec9 21: net.minecraftforge.eventbus.EventBus$$Lambda$1596/0x0000000801322248@9b2e72a 22: ASM: class com.simibubi.create.content.equipment.symmetryWand.SymmetryHandler onBlockDestroyed(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V 23: ASM: class com.simibubi.create.content.equipment.extendoGrip.ExtendoGripItem consumeDurabilityOnBlockBreak(Lnet/minecraftforge/event/level/BlockEvent$BreakEvent;)V java.lang.StackOverflowError at java.base/java.util.HashMap.putVal(HashMap.java:640) at java.base/java.util.HashMap.put(HashMap.java:610) at java.base/java.util.HashSet.add(HashSet.java:221) at TRANSFORMER/viner@1.3.0/com.ael.viner.Viner$ClientModEvents.collectConnectedBlocks(Viner.java:264) at TRANSFORMER/viner@1.3.0/com.ael.viner.Viner$ClientModEvents.collectConnectedBlocks(Viner.java:270) at TRANSFORMER/viner@1.3.0/com.ael.viner.Viner$ClientModEvents.collectConnectedBlocks(Viner.java:270) at TRANSFORMER/viner@1.3.0/com.ael.viner.Viner$ClientModEvents.collectConnectedBlocks(Viner.java:270) at TRANSFORMER/viner@1.3.0/com.ael.viner.Viner$ClientModEvents.collectConnectedBlocks(Viner.java:270) at TRANSFORMER/viner@1.3.0/com.ael.viner.Viner$ClientModEvents.collectConnectedBlocks(Viner.java:270)

except there were many, many more of the '270' line

and then later in the logfile: [21:02:06] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception java.lang.StackOverflowError: null at java.util.HashMap.putVal(HashMap.java:640) ~[?:?] {re:mixin} at java.util.HashMap.put(HashMap.java:610) ~[?:?] {re:mixin} at java.util.HashSet.add(HashSet.java:221) ~[?:?] {re:mixin}

(the same pattern of repeating at TRANSFORMER/viner errors)

the crash report is here:

crash-2023-08-29_21.02.06-server.txt

altaiiiir commented 10 months ago

Hi Traehgniw,

Thank you for the detailed report! I've reviewed the error logs you provided.

It appears that the issue is a StackOverflowError caused by a recursive loop that's not terminating as expected, leading to the stack overflow.

I've identified the root cause and fixed the recursion in V1.3.1.

Thanks for your support! :)