All of Fabric 3 - AOF3 - 1.16.5

All of Fabric 3 - AOF3 - 1.16.5

1M Downloads

Chunk gen causes thread death and NPE

MissPotato opened this issue ยท 20 comments

commented

Seems pretty random but reloading the same region seems to cause it to happen. Just exploring for 10 minutes in a new save reproduces it. It happens both in our dedicated server and our single player worlds. Due to the nature of multi-threading this results in half-crashed state where players can still technically play but the world wont load any new chunks including ones that have already been generated. It does seem like it's capable of loading chunks in currently loaded region files, however they load very very slowly.

https://pastebin.com/QiBaFHkf

commented

https://github.com/comp500/mixintrace <--- I highly recommend add this mod, It will list all the mods that Mixin into the Classes that are in the stack trace. Helps Identify what mods could be causing the crash. Look like this has something to do with Light Updates. If you could get it to crash again with this mod that would be really helpful.
https://shartte.github.io/minecraft-mapper/ <--- Very useful tool. Convert Crash Reports to Yarn Mappings
Mapped Crash log
https://hastebin.com/vuzeragawu.properties

commented

If it's lighting issues, phosphor is in this pack, Potentially the source of the issue. I'll add mixintrace and try to reproduce the issue. Unfortunately it doesn't actually crash, though, so I'll try doing the f3+c method

Edit: That didn't help either. Forgot that it just prints an error specific to being force crashed that way.

Edit: Here is a log with mixintrace and minecraft mapper ran on it. https://pastebin.com/J0eFEV6G. Alas, doesn't look to yield any more information. It's currently 1:40 am here so tomorrow I'll do more testing.

commented

It seems that whatever is causing this is causing world corruption. Our seed got changed last thread death and new chunks don't align correctly. We're thinking about trying to remove Phosphor as it seems to be a lighting issue.

https://i.imgur.com/v5quFgs.jpeg

commented

I definitely think it's Phosphor now. Lighting started to get really glitchy and then the thread died shortly after. https://i.imgur.com/eCCMgKD.png

commented

Logs with MixinTrace:
Pre-mapping: https://pastebin.com/YJjWfmkM
Post-Mapping: https://pastebin.com/YhmtfhQm

commented

https://github.com/jellysquid3/lithium-fabric/suites/1732359139/artifacts/32814842
Try the non dev jar in this download. This is a dev build on lithium. I have built a previous version that also seemed to fix this issue, so this should definitely help. I would also download phosphor 0.7.0

commented

Alrighty, we'll try it out and get back to you!

commented

Well the actual issue is lithium. There is a very rare bug that causes this issue. If you have time you might actually report the issue to lithium issue tracker and let them know that the indev version has fixed the problem, you may want to use the latest Lithium Build artifact as there was another vanilla bug they fixed, although I never ran into the bug myself. https://github.com/jellysquid3/lithium-fabric/actions/runs/453709383 Click on the build artifacts link at the bottom of this page for the latest. I knew about the bug from reading their discord. They may even like to download your world for testing if its not too big. You are I think only the 3rd person that I know of to have this issue with AoF3, and it can occur in single player as well so that's pretty small amount. not sure how many reports they have had, but there is a couple of issue on their tracker that are actually all related to this bug.

commented

Alright, I'll reach out to the Lithium group! I'm going to stress test this build first, but so far I've logged in 6 or 7 times without any issues.

commented

Server locked up when someone tried joing again, we're now running 2.5.6 and MixinTrace. We're no longer using the versions of Phosphor and Lithium you linked as it appears the ones included in 2.5.6 are either newer than them or the same version. If they are special versions we can reinstall them.

After the timeout and the server rebooted lighting data got corrupted:
https://i.imgur.com/MBrGOjp.png
https://i.imgur.com/enQFeTE.png
https://pastebin.com/aVVSnShn

Not sure if it's relevant but, I'm hoping something will be useful: -
Updating the light level causes it to recalculate in a the range of the new light source and any light source the new light touchs. It does not propegate past that however. (For clarification: if a glowstone block was place it and touched a torch It also appears to only be contained to these chunks that were loaded.

commented

Phosphor is the newest yes, but lithium has not had a new release in awhile. I would continue using the previous version if that fixed the issue.

commented

https://github.com/Spottedleaf/Starlight you can also try out starlight, which optimizes the light engine differently than Phosphor, so to use it you would disable phosphor. I have used in on client and server without issues so far. Couldn't hurt, it won't break your world and it can be removed if it does something odd. Worse case I assume would be odd lighting glitches maybe. But I think Lithium is the one at fault for the broken chunks.

commented

We'll try out the the dev version of Lithium again then. We weren't having any issues with it. Though it seems like it's gotten a lot worse in 2.5.6. Is there some third party tool that could help us track down the issue? I really wish I had the faintest idea which dev to reach out to. I'm down to help by being the lab rat for fixing these issues.

commented

Small update: the indev version didn't fix it. We were just on a luck streak. Today it's been happening a lot.

commented

Hmm. Is it new chunks or old corrupted chunks loading again? Can you post a new crash log? From the previous one it looks like there is an issue with ticking block entities. --> block_entities: 1751 [minecraft:chest:707,minecraft:mob_spawner:299,techreborn:cable:181,minecraft:campfire:70,modern_industrialization:pipe:61], block_ticks: 7877(<--This is the cause of the crash), fluid_ticks: 52, chunk_source: ServerChunkCache: 5437,

commented

here is another useful server tool. https://www.curseforge.com/minecraft/mc-mods/tellme/files/3101200 with this you can dump all loaded chunks, all loaded entities, and all loaded tile-entities. This can usually help pinpoint where in the world something is happening. Here are the commands you want to enter, and you could either try to find a problem yourself or send me those files and I can attempt to find a problem. Another thing you can do is use the F3 screen and fly near bases or mob farms and look at the number of packets the server is sending you, 1000-2000 packets is what a normal cursed dirt farm would be about, and a very bad area is like 10,000 - 20,000 packets which also usually cripples your fps.
/tellme loaded chunks all to-file csv minecraft:overworld <-- List all laoded chunks, count the lines and thats how many chunks are loaded.
loaded entity dumps, by type will tell how many of each kind, list all will list all loaded with their position and nbt data
/tellme loaded entities by-chunk to-file csv all-loaded minecraft:overworld
/tellme loaded entities by-type to-file csv all-loaded minecraft:overworld
/tellme loaded entities list-all to-file csv all-loaded minecraft:overworld
loaded tile entity dumps, by type will tell how many of each kind, list all will list all loaded with their position and nbt data
/tellme loaded tile-entities by-chunk to-file csv all-loaded minecraft:overworld
/tellme loaded tile-entities by-type to-file csv all-loaded minecraft:overworld
/tellme loaded tile-entities list-all to-file csv all-loaded minecraft:overworld

commented

It might be loading the same corrupted chunks. I'm not really certain as it's so sparatic. However, it does seem to happen the most when I personally log in, and I have 3 or 4 chunks in my base with corrupted lighting. My base is only getting about 1700 packets near my cursed earth.
That seems to be a lot of block_ticks and doesn't really seem to co-inside with our world. I'm wondering if a block a player built with is actually a ticking tile entity? Reminds me of when people built their bases out of railcraft coke oven bricks.

As for the log: https://pastebin.com/0TRFmUcd Uh, we seem to have 180136 block ticks after this crash. That doesn't even sound remotely possible. That means almost three entire chunks worth of blocks are queued to update? Tomorrow after some sleep I'll look into using Tellme.

commented

still an issue?

commented

Sorry I thought I already replied to this. The person who owned the server changed his mind and didn't want to start new so he just stopped the server. I'm guessing it was just a corrupt world.

commented

Thank you for the follow up