Bawnorton / Neruina

A mod that prevents ticking related crashes from bricking worlds
MIT License
39 stars 3 forks source link

LevelRenderer and Particle crash with Endermen #86

Closed Cephelo closed 4 months ago

Cephelo commented 4 months ago

Not really sure what's going on here, but every 5-10 minutes or so while flying around in the end gets me this crash repeated around a dozen times in the log, followed by a crash. Rejoining the world and the issue is gone, until it comes out of nowhere again. Something about the LevelRenderer being null with a particle, likely emitted by an Endermen based on what I'm seeing.

Using v2.1.0 for Forge 1.20.1.

Crash:

[12Jul2024 15:04:40.471] [Render thread/WARN] [neruina/]: Neruina caught an exception, see below for cause
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.renderer.LevelRenderer.m_109743_(net.minecraft.core.particles.ParticleOptions, boolean, double, double, double, double, double, double)" because "this.f_104562_" is null
    at net.minecraft.client.multiplayer.ClientLevel.m_7106_(ClientLevel.java:590) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.entity.monster.EnderMan.m_8107_(EnderMan.java:221) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.multiplayer.ClientLevel.basicTick(ClientLevel.java:7611) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.multiplayer.ClientLevel.handler$eoh000$entityculling$tickEntity(ClientLevel.java:7596) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.multiplayer.ClientLevel.m_104639_(ClientLevel.java) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.level.Level.mixinextras$bridge$accept$181(Level.java) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at com.bawnorton.neruina.handler.TickHandler.safelyTickEntities(TickHandler.java:92) ~[Neruina-2.1.0-forge+1.20.1.jar%23724!/:?]
    at net.minecraft.world.level.Level.wrapOperation$eik000$neruina$catchTickingEntities$notTheCauseOfTickLag(Level.java:8540) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.level.Level.m_46653_(Level.java:479) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.multiplayer.ClientLevel.m_194182_(ClientLevel.java:256) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.multiplayer.ClientLevel.m_104804_(ClientLevel.java:254) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.Minecraft.m_91398_(Minecraft.java:1814) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1112) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.3.0.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?]
    at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?]
    at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]
[12Jul2024 15:04:40.472] [Render thread/WARN] [neruina/]: Neruina caught an exception, see below for cause
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.renderer.LevelRenderer.m_109743_(net.minecraft.core.particles.ParticleOptions, boolean, double, double, double, double, double, double)" because "this.f_104562_" is null
    at net.minecraft.client.multiplayer.ClientLevel.m_7106_(ClientLevel.java:590) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.entity.monster.EnderMan.m_8107_(EnderMan.java:221) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.entity.LivingEntity.m_8119_(LivingEntity.java:2298) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.entity.Mob.m_8119_(Mob.java:337) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.multiplayer.ClientLevel.m_104639_(ClientLevel.java:274) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.level.Level.mixinextras$bridge$accept$181(Level.java) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at com.bawnorton.neruina.handler.TickHandler.safelyTickEntities(TickHandler.java:92) ~[Neruina-2.1.0-forge+1.20.1.jar%23724!/:?]
    at net.minecraft.world.level.Level.wrapOperation$eik000$neruina$catchTickingEntities$notTheCauseOfTickLag(Level.java:8540) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.level.Level.m_46653_(Level.java:479) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.multiplayer.ClientLevel.m_194182_(ClientLevel.java:256) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.world.level.entity.EntityTickList.m_156910_(EntityTickList.java:54) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.multiplayer.ClientLevel.m_104804_(ClientLevel.java:254) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.Minecraft.m_91398_(Minecraft.java:1814) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1112) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23849!/:?]
    at net.minecraft.client.main.Main.main(Main.java:218) ~[forge-47.3.0.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.3.0.jar:?]
    at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.3.0.jar:?]
    at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.3.0.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]
    at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]

Full log file: https://gist.github.com/Cephelo/5893272dcb9a0f6643c41d25f39301ec

Let me know if you need anything else. Thank you!

Bawnorton commented 4 months ago

theknocker is crashing a lot the thing with endermen doesn't have an obvious cause, try removing entity culling. The crashing is caused by https://github.com/Bawnorton/Neruina/wiki/Too-Many-Ticking-Exceptions, see the page for how to can disable it

Bawnorton commented 4 months ago

Neruina acting as it should, so closing

Cephelo commented 4 months ago

Thank you for the quick response!