henkelmax / sound-physics-remastered

A Minecraft mod that provides realistic sound attenuation, reverberation, and absorption through blocks.
GNU General Public License v3.0
69 stars 22 forks source link

[crash] crash while being teleported far away #148

Closed rand0m0User closed 8 months ago

rand0m0User commented 8 months ago

Bug description the game hangs due to running out of memory when tp'ing or getting tp'd to the world boarder (or just really far)

my best guess is its something to do with sounds playing in unloaded or not yet loaded chunks, causing "fixedRaycast" run until "Long2ObjectOpenHashMap" runs out of heap memory because it doesnt find any blocks

Steps to reproduce the issue

  1. join a server (latest paper, really dont know if that matters, was unable to reproduce the issue in singleplayer)
  2. teleport (or be TP'd) to tp 29000000 200 29000000 (also tp'ing entities more reliably causes the fault)

Expected behavior should just work normally and not crash

Log files short, no other errors in 'latest.log', just the one [12:28:47] [Sound engine/ERROR]: Uncaught exception in thread "Sound engine" java.lang.OutOfMemoryError: Java heap space at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.rehash(Long2ObjectOpenHashMap.java:1293) ~[fastutil-8.5.9.jar:?] at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.insert(Long2ObjectOpenHashMap.java:249) ~[fastutil-8.5.9.jar:?] at it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap.put(Long2ObjectOpenHashMap.java:257) ~[fastutil-8.5.9.jar:?] at it.unimi.dsi.fastutil.longs.Long2ObjectFunction.put(Long2ObjectFunction.java:124) ~[fastutil-8.5.9.jar:?] at it.unimi.dsi.fastutil.longs.Long2ObjectMap.put(Long2ObjectMap.java:170) ~[fastutil-8.5.9.jar:?] at it.unimi.dsi.fastutil.longs.Long2ObjectMap.put(Long2ObjectMap.java:41) ~[fastutil-8.5.9.jar:?] at java.util.Map.computeIfAbsent(Map.java:1055) ~[?:?] at com.sonicether.soundphysics.RaycastFix.lambda$fixedRaycast$2(RaycastFix.java:48) ~[soundphysics-fabric-1.20.1-1.1.2.jar:?] at com.sonicether.soundphysics.RaycastFix$$Lambda$6423/0x0000000800f8ed50.apply(Unknown Source) ~[?:?] at com.sonicether.soundphysics.RaycastFix.traverseBlocks(RaycastFix.java:113) ~[soundphysics-fabric-1.20.1-1.1.2.jar:?] at com.sonicether.soundphysics.RaycastFix.fixedRaycast(RaycastFix.java:40) ~[soundphysics-fabric-1.20.1-1.1.2.jar:?] at com.sonicether.soundphysics.SoundPhysics.runOcclusion(SoundPhysics.java:465) ~[soundphysics-fabric-1.20.1-1.1.2.jar:?] at com.sonicether.soundphysics.SoundPhysics.calculateOcclusion(SoundPhysics.java:445) ~[soundphysics-fabric-1.20.1-1.1.2.jar:?] at com.sonicether.soundphysics.SoundPhysics.evaluateEnvironment(SoundPhysics.java:243) ~[soundphysics-fabric-1.20.1-1.1.2.jar:?] at com.sonicether.soundphysics.SoundPhysics.processSound(SoundPhysics.java:187) ~[soundphysics-fabric-1.20.1-1.1.2.jar:?] at com.sonicether.soundphysics.SoundPhysics.onPlaySound(SoundPhysics.java:154) ~[soundphysics-fabric-1.20.1-1.1.2.jar:?] at net.minecraft.class_4224.handler$zpm000$sound_physics_remastered$play(class_4224.java:1032) ~[client-intermediary.jar:?] at net.minecraft.class_4224.method_19650(class_4224.java) ~[client-intermediary.jar:?] at net.minecraft.class_1140.method_19752(class_1140.java:461) ~[client-intermediary.jar:?] at net.minecraft.class_1140$$Lambda$5525/0x0000000800d8b700.accept(Unknown Source) ~[?:?] at net.minecraft.class_4235$class_4236.method_19737(class_4235.java:34) ~[client-intermediary.jar:?] at net.minecraft.class_4235$class_4236$$Lambda$5484/0x0000000800d71af0.run(Unknown Source) ~[?:?] at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[client-intermediary.jar:?] at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[client-intermediary.jar:?] at net.minecraft.class_1255.method_18857(class_1255.java:139) ~[client-intermediary.jar:?] at net.minecraft.class_4238.method_19765(class_4238.java:42) ~[client-intermediary.jar:?] at net.minecraft.class_4238$$Lambda$4341/0x0000000800b9d6e0.run(Unknown Source) ~[?:?] at java.lang.Thread.run(Thread.java:833) ~[?:?]

Versions Minecraft version: 1.20.1 Forge/Fabric loader version: latest version as far as i can tell Sound Physics Remastered version: fabric-1.20.1-1.1.2

Other mods i dont see any other code paths in the error but i will list them anyway

baritone-standalone-fabric-1.10.1.jar fabric-api-0.83.1+1.20.1.jar litematica-fabric-1.20.1-0.15.0.jar malilib-fabric-1.20.1-0.16.0.jar memoryleakfix-fabric-1.17+-1.1.2.jar minihud-fabric-1.20.1-0.27.0.jar sodium-fabric-mc1.20.1-0.5.2.jar soundphysics-fabric-1.20.1-1.1.2.jar Xaeros_Minimap_23.5.0_Fabric_1.20.jar also a modified version of wurst, but i was able to reproduce the bug without it

Screenshots (Optional) Screenshots of the issue.

henkelmax commented 8 months ago

Duplicate of #132