AppleSkin: Saturation hud overlay causing Out of Memory error
During the “Saving World” phase of loading into a world, saturation hud overlay causes Out of Memory error due to too large array request. Doesn’t crash the game, just pops up a menu where Minecraft warns you of the event and allows you to quit or return to menu. Fixed by setting showSaturationHudOverlay to false in config. Issue found while trying to join a server using the modpack ATM6 1.7.1.
Call stack:
[19Jul2021 12:05:30.534] [Render thread/FATAL] [net.minecraft.client.Minecraft/]: Out of memory
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at java.util.Arrays.copyOf(Unknown Source) ~[?:1.8.0_291]
at java.util.Vector.grow(Unknown Source) ~[?:1.8.0_291]
at java.util.Vector.ensureCapacityHelper(Unknown Source) ~[?:1.8.0_291]
at java.util.Vector.setSize(Unknown Source) ~[?:1.8.0_291]
at squeek.appleskin.client.HUDOverlayHandler.generateBarOffsets(HUDOverlayHandler.java:494) ~[appleskin:mc1.16.4-2.0.0]
at squeek.appleskin.client.HUDOverlayHandler.onRender(HUDOverlayHandler.java:107) ~[appleskin:mc1.16.4-2.0.0]
at net.minecraftforge.eventbus.ASMEventHandler_3056_HUDOverlayHandler_onRender_Post.invoke(.dynamic) ~[?:?]
at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?]
at net.minecraftforge.eventbus.EventBus$$Lambda$2612/1344076285.invoke(Unknown Source) ~[?:?]
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?]
at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?]
at net.minecraftforge.client.gui.ForgeIngameGui.post(ForgeIngameGui.java:832) ~[forge:?]
at net.minecraftforge.client.gui.ForgeIngameGui.renderFood(ForgeIngameGui.java:545) ~[forge:?]
at net.minecraftforge.client.gui.ForgeIngameGui.func_238445_a_(ForgeIngameGui.java:165) ~[forge:?]
at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:472) ~[?:?]
at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:976) ~[?:?]
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) ~[?:?]
at net.minecraft.client.main.Main.main(Main.java:184) ~[minecraft-1.16.5-client.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_291]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_291]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_291]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_291]
at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) ~[forge-1.16.5-36.1.32-launcher.jar:36.1]
at net.minecraftforge.fml.loading.FMLClientLaunchProvider$$Lambda$503/741236338.call(Unknown Source) ~[?:?]
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) ~[modlauncher-8.0.9.jar:?]
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) ~[modlauncher-8.0.9.jar:?]
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) ~[modlauncher-8.0.9.jar:?]
at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) ~[modlauncher-8.0.9.jar:?]
at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) ~[modlauncher-8.0.9.jar:?]
at io.github.zekerzhayard.forgewrapper.installer.Main.main(Main.java:50) ~[ForgeWrapper-1.4.2.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_291]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_291]
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 19 (13 by maintainers)
Should be fixed by https://github.com/squeek502/AppleSkin/commit/4418b967d3223e1a825c9c02c9f28b4f8b853dff. Here’s a build if you want to try it out and make sure it fixes it for you:
https://www.ryanliptak.com/misc/appleskin-forge-mc1.16.4-2.0.0+healthtest3.jar
Hello again, new development. The error started again but wasn’t being caught by healthtest2 (turns out since it is an OutOfMemory_Error_, catching an exception doesn’t grab it). I fixed the catch and got this line:
“Tried and failed to set healthBarOffsets size to 2147483647 from max health=24.0 and absorption=Infinity”
If I successfully load into the server I do not actually have infinite absorption and I’m not sure where this information could be coming from.
I won’t have access to my computer for some time but hopefully this helps a bit and I’ll try more debugging when I’m available.
Well, my friend deleted the serverstarter.lock file and restarted the server. I haven’t been able to replicate the crash since. It seems some strange corruption was only affecting me.
I’ll continue to use healthtest2 just incase this ever appears again.
Sorry about this, thanks for your help.
crash-2021-07-19_19.41.40-client.txt Tried twice, both attempts showed similar data.