Elfinlocks / Astral_Engineering

This is the repository for Astral Engineering
https://www.curseforge.com/minecraft/modpacks/astral-engineering
2 stars 0 forks source link

Ticking Block Entity crash #27

Closed dubbat closed 2 years ago

dubbat commented 2 years ago

So, been running a server and it has been fine for a few days. Was even on a few times earlier today. Just logged back in and it was night, so I immediately slept (logged in next to bed). Almost immediately had viewport swapped to a loading type screen saying "saving world" and greeted with a Ticking Block Entity crash.

Upon launching the client and loggin in again, it again crashes with same error but only after completely locking up for a while.

Server still runs (even restarted to be sure) when this happens, but it does get a fatal error: [Server thread/FATAL] [ne.mi.fm.lo.RuntimeDistCleaner/DISTXFORM]: Attempted to load class net/minecraft/client/renderer/texture/Texture for invalid dist DEDICATED_SERVER

Later down the stack it does mention Mixin, Astral sorcery transformation and something about light levels (haven't even gotten that far in the tech). Probably irrelavent.

On the client side, this is what it spits out: ava.lang.IllegalArgumentException: Cannot get property BooleanProperty{name=lit, clazz=class java.lang.Boolean, values=[true, false]} as it does not exist in Block{minecraft:void_air} at net.minecraft.state.StateHolder.func_177229_b(SourceFile:95) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:babel.mixins.json:StateHolderMixin,pl:mixin:APP:ferritecore.fastmap.mixin.json:FastMapStateHolderMixin,pl:mixin:A} at net.minecraft.tileentity.CampfireTileEntity.func_73660_a(SourceFile:42) ~[?:?] {re:classloading,xf:fml:apotheosis:apothcampfire}

Stacktrace: at net.minecraft.state.StateHolder.func_177229_b(SourceFile:95) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:babel.mixins.json:StateHolderMixin,pl:mixin:APP:ferritecore.fastmap.mixin.json:FastMapStateHolderMixin,pl:mixin:A} at net.minecraft.tileentity.CampfireTileEntity.func_73660_a(SourceFile:42) ~[?:?] {re:classloading,xf:fml:apotheosis:apothcampfire} -- Block entity being ticked -- Details: Name: minecraft:campfire // net.minecraft.tileentity.CampfireTileEntity Block: Block{minecraft:void_air} Block location: World: (-460,14,175), Chunk: (at 4,0,15 in -29,10; contains blocks -464,0,160 to -449,255,175), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Block: Block{minecraft:campfire}[facing=north,lit=false,signal_fire=false,waterlogged=false] Block location: World: (-460,14,175), Chunk: (at 4,0,15 in -29,10; contains blocks -464,0,160 to -449,255,175), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Block Entity NBT: {x:-460,y:14,ForgeCaps:{},z:175,Items:[],id:"minecraft:campfire",CookingTimes:[I;0,0,0,0],CookingTotalTimes:[I;0,0,0,0]} latest - Copy.log crash-2022-02-07_15.44.09-client.txt

dubbat commented 2 years ago

Hmm. I changed the texture pack load order after seeing "feywilds" showing incompatible. Was not able to remove it so moved it to the bottom.

I was able to log in, albeit at 7fps, and destroy the minecolonies campfire. I have put the texture pack ordering back to normal.

Not sure if I did anything really. Server still spits out the same error. I think daytime just passed while I was unable to connect and making this post as the server seems to pass time when you are logged out? Believe it was night time again when I logged in again and was able to sleep fine despite the lag.

Edit: Nope. Crash again when walking towards the real campfire problem. -460,14,175 is real one. I broke the campfire near -200,~65,100 Seems to be something with the dynamic view distance? Loading a campfire that is in the void because it's not loaded properly?

image Was able to fly there in spectator mode just fine. No crash right now. Seems like a half-loaded chunk issue with campfires.

Elfinlocks commented 2 years ago

Can you remove Dynamic View Distance and let me know if this still occurs? If not I will probably just remove that mod, it doesn't add a ton on the performance side

dubbat commented 2 years ago

I played for about an hour with it as-is. Seemed fine. Not sure why it started or stopped. Seems to be fresh(ish) login only issue. Probably to do with the terrain taking so long to load and all-the-while the server is increasing the chunk view distance all the down from 4 to about 14-16 by the time it finishes. By the time you finally load it, your client is expecting 4 chunks only and gets upwards of 16. Maybe not an issue with other players keeping it high, but yeah pretty big issue soloing on MP occassionally.

dubbat commented 2 years ago

Maybe it is unrelated, but seems the DEDICATED_SERVER error message is to do with client-side mods/code running on server, or the opposite?

[16:46:00] [Server thread/FATAL] [ne.mi.fm.lo.RuntimeDistCleaner/DISTXFORM]: Attempted to load class net/minecraft/client/renderer/texture/Texture for invalid dist DEDICATED_SERVER

https://www.reddit.com/r/MinecraftHelp/comments/gu5yth/dedicated_server_wont_start_java_attempted_to/ https://stackoverflow.com/questions/65340736/minecraft-forge-fmlclientsetupevent-fired-on-server

Judging from those posts, RuntimeDistCleaner/DISTXFORM either shouldn't be on the server or shouldn't be using client-only code.

Regarding Ticking Entity and campfires specifically, seems like rare old bug never fixed in vanilla? https://bugs.mojang.com/browse/MC-142122

Hmm. Just realized. There is some confusion here with "lit" meaning light and meaning "on fire". I think it is specifically checking to see if the block is lit as in lighting but it's checking an air tile instead of the campfire entity. Seems like it is off by 1 vertical position or the entity isn't loaded yet so it gets air/void. Or maybe the wrong kind of "lit" property is being checked?

Another edit: Towards the end of the stack in the client side error it mentions "pl:runtimedistcleaner:A" which is the same thing involved in the server error that seems to to be a mod/code that shouldn't be run on the server. So, maybe the two errors are related?

dubbat commented 2 years ago

OK crashed again during middle of a session with multiple people. It just disconnects from server PoV. Both clients crash from same campfire.

Not entirely sure if it's the fault of dynview, but it is at least exacerbating the issue.

[19:29:34] [Server thread/INFO] [co.dy.DynView/]: Mean tick: 30ms increasing chunk view distance to: 9 [19:29:36] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: TommyTom2k2 lost connection: Disconnected [19:29:36] [Server thread/INFO] [minecraft/DedicatedServer]: TommyTom2k2 left the game [19:29:38] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: JustJub lost connection: Disconnected [19:29:38] [Server thread/INFO] [minecraft/DedicatedServer]: JustJub left the game [19:29:38] [Server thread/INFO] [de.ge.au.ta.AutoRestartTask/]: Empty server timer started

Elfinlocks commented 2 years ago

Please do try removing DynView and see if that resolves, thanks

dubbat commented 2 years ago

Please do try removing DynView and see if that resolves, thanks

Yup, I will try that next. I will have to look into how to remove it.

Elfinlocks commented 2 years ago

Just remove the modfile from the server's /mods/ folder

dubbat commented 2 years ago

Hadn't messed with it until today. Started the server and same issue. Immediately shut it down and removed dynviewdist and it let me in. dynview is causing problem or at least helping make an existing bug more prominent.

Elfinlocks commented 2 years ago

Noted, DynView will be fully removed in next patch - not like it gave a ton of performance anyway