AdlyTempleton / Aura-Cascade

MIT License
21 stars 20 forks source link

Server crash: Ticking block entity auraauraNode // pixlepix.auracascade.block.tile.AuraTile #93

Closed Ricket closed 8 years ago

Ricket commented 9 years ago

Full crash log: https://gist.github.com/Ricket/6aead2ce935b0fb9adb5

Minecraft 1.7.10, FTB Horizons Daybreaker 1.1.0 pack + updates Aura Cascade version 552

I was walking through an area that I walked not long ago, suddenly client froze and then crashed.

java.lang.NullPointerException: Ticking block entity
    at pixlepix.auracascade.main.AuraUtil.formatLocation(AuraUtil.java:81)
    at pixlepix.auracascade.data.EnumAura$7.updateTick(EnumAura.java:128)
    at pixlepix.auracascade.block.tile.AuraTile.func_145845_h(AuraTile.java:269)
    at net.minecraft.world.World.func_72939_s(World.java:1939)
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:2006)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
Ricket commented 9 years ago

Just hit this same crash again after several hours of playing, added the crash log as a second file to the linked gist. Is there a workaround?

akvgergo commented 9 years ago

Unfortunately the main dev @pixlepix hasn't been around recently. I will try to catch him on IRC if I can. For now, there's no fix, but as a workaround, the error is occouring at -552 76 -1239. If you remove the setup that's there, that could be a temporary solution.

AdlyTempleton commented 9 years ago

Pushed a fix which should prevent it from crashing (Or, at least, crashing in that particular place). However, there is still an underlying issue. Can you reproduce the crash in a fresh world (I mean, cause the corruption itself)? Is there any strange setups - moving or breaking aura nodes automatically?

Ricket commented 9 years ago

It's a very simple setup, a burning aura pump and 3 aura nodes in a vertical rectangle, next to a spawner. I just took a look at the map and the location where I crashed both times is 15 chunks away from the setup -- equal to our server view-distance setting. I think it's a race condition due to the chunk unloading, and the null check should fully solve it.

Is this code supposed to be running on the client side? Seems like the server should be dictating the aura quantity, unless the client is just doing prediction. (I'm not a mod developer so I don't know the details)

AdlyTempleton commented 9 years ago

It's all single threaded - there shouldn't be a race condition. Unless you have a mod that messes with chunk loading/multithreading?

Lots of code runs on the client side, especially code that could lead to visual effects, but the client's data is meaningless - the server will override it.