sisby-folk / antique-atlas

A hand-drawn client-side minecraft world map with biomes, structures, waypoints, and less! A fourth-generation rewrite of Hunternif's Antique Atlas.
https://modrinth.com/mod/antique-atlas-4
Other
30 stars 11 forks source link

game crashes when returning from the nether 1.20.1 #129

Closed WHiZSTA closed 2 months ago

WHiZSTA commented 3 months ago

Minecraft 1.20.1 Fabric completely crashes back to the desktop whenever i return from the nether. Running the latest version (2.8.2) of Antique Atlas. (The issue has been happening in the previous versions too.) Below is the error report from traveling to the nether and then right back through the portal.

`[12:52:22] [Render thread/INFO]: [Antique Atlas] Beginning to load terrain for minecraft:the_nether - 2894 chunks available. [12:52:23] [Render thread/INFO]: [Antique Atlas] Finished loading terrain for minecraft:the_nether - 3338 tiles. [12:52:31] [Render thread/ERROR]: Error executing task on Client java.lang.NullPointerException: Cannot invoke "net.minecraft.class_2960.toString()" because the return value of "net.minecraft.class_2378.method_10221(Object)" is null at folk.sisby.surveyor.terrain.RegionSummary.lambda$writeNbt$4(RegionSummary.java:134) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at folk.sisby.surveyor.terrain.RegionSummary.mapPalette(RegionSummary.java:52) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at folk.sisby.surveyor.terrain.RegionSummary.writeNbt(RegionSummary.java:134) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at folk.sisby.surveyor.terrain.WorldTerrainSummary.lambda$save$7(WorldTerrainSummary.java:98) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at java.util.concurrent.ConcurrentHashMap.forEach(Unknown Source) ~[?:?] at folk.sisby.surveyor.terrain.WorldTerrainSummary.save(WorldTerrainSummary.java:95) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at folk.sisby.surveyor.WorldSummary.save(WorldSummary.java:27) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at net.minecraft.class_310.handler$gab000$surveyor$saveOnLeaveWorld(class_310.java:32025) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1481(class_310.java) ~[client-intermediary.jar:?] at net.minecraft.class_634.method_11117(class_634.java:1114) ~[client-intermediary.jar:?] at net.minecraft.class_2724.method_11782(class_2724.java:78) ~[client-intermediary.jar:?] at net.minecraft.class_2724.method_11054(class_2724.java:16) ~[client-intermediary.jar:?] at net.minecraft.class_2600.method_11072(class_2600.java:22) ~[client-intermediary.jar:?] at net.minecraft.class_1255.method_18859(class_1255.java:156) ~[client-intermediary.jar:?] at net.minecraft.class_4093.method_18859(class_4093.java:23) ~[client-intermediary.jar:?] at net.minecraft.class_1255.method_16075(class_1255.java:130) ~[client-intermediary.jar:?] at net.minecraft.class_1255.method_5383(class_1255.java:115) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1523(class_310.java:1175) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1514(class_310.java:802) ~[client-intermediary.jar:?] at net.minecraft.client.main.Main.main(Main.java:250) ~[1.20.1-0.15.11.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.11.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.11.jar:?] [12:52:32] [Render thread/INFO]: [Surveyor] Loading data for minecraft:overworld [12:52:33] [Render thread/INFO]: [Surveyor] Finished loading data for minecraft:overworld [12:52:34] [Render thread/ERROR]: Unreported exception thrown! java.lang.NullPointerException: Cannot invoke "folk.sisby.surveyor.terrain.ChunkSummary.toSingleLayer(java.lang.Integer, java.lang.Integer, int)" because "chunk" is null at folk.sisby.antique_atlas.TerrainTiling.terrainToTileNether(TerrainTiling.java:138) ~[antique-atlas-2.8.2+1.20.jar:?] at folk.sisby.antique_atlas.WorldAtlasData.tick(WorldAtlasData.java:85) ~[antique-atlas-2.8.2+1.20.jar:?] at folk.sisby.antique_atlas.AntiqueAtlas.lambda$onInitializeClient$4(AntiqueAtlas.java:48) ~[antique-atlas-2.8.2+1.20.jar:?] at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$6(ClientTickEvents.java:63) ~[fabric-lifecycle-events-v1-2.2.2+1802ada577-64bb13225b65065c.jar:?] at net.minecraft.class_638.handler$cma000$fabric-lifecycle-events-v1$tickWorldAfterBlockEntities(class_638.java:4625) ~[client-intermediary.jar:?] at net.minecraft.class_638.method_18116(class_638.java:260) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1574(class_310.java:1901) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1523(class_310.java:1181) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1514(class_310.java:802) ~[client-intermediary.jar:?] at net.minecraft.client.main.Main.main(Main.java:250) ~[1.20.1-0.15.11.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.11.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.11.jar:?] [12:52:34] [Render thread/ERROR]: Unhandled game exception java.lang.NullPointerException: Cannot invoke "net.minecraft.class_2960.toString()" because the return value of "net.minecraft.class_2378.method_10221(Object)" is null at folk.sisby.surveyor.terrain.RegionSummary.lambda$writeNbt$4(RegionSummary.java:134) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at folk.sisby.surveyor.terrain.RegionSummary.mapPalette(RegionSummary.java:52) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at folk.sisby.surveyor.terrain.RegionSummary.writeNbt(RegionSummary.java:134) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at folk.sisby.surveyor.terrain.WorldTerrainSummary.lambda$save$7(WorldTerrainSummary.java:98) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at java.util.concurrent.ConcurrentHashMap.forEach(Unknown Source) ~[?:?] at folk.sisby.surveyor.terrain.WorldTerrainSummary.save(WorldTerrainSummary.java:95) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at folk.sisby.surveyor.WorldSummary.save(WorldSummary.java:27) ~[surveyor-0.5.0+1.20-7b54072036ef02b3.jar:?] at net.minecraft.class_310.handler$gab000$surveyor$saveSummaryOnDisconnect(class_310.java:32038) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_18096(class_310.java) ~[client-intermediary.jar:?] at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.cleanupBeforeMinecraft(InGameCatcher.java:54) ~[notenoughcrashes-4.4.7+1.20.1-fabric.jar:?] at net.minecraft.class_310.handler$epg000$notenoughcrashes$beforeCleanUpAfterCrash(class_310.java:26111) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1519(class_310.java) ~[client-intermediary.jar:?] at net.minecraft.class_310.method_1514(class_310.java:828) ~[client-intermediary.jar:?] at net.minecraft.client.main.Main.main(Main.java:250) ~[1.20.1-0.15.11.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.11.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.11.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.11.jar:?]

[12:52:34] [Render thread/INFO]: Shutting down renderer (fabric) [12:52:34] [Render thread/INFO]: Renderer shutting down. `

sisby-folk commented 3 months ago

Immersive portals?

Otherwise, feel free to post your log/latest.log to https://mclo.gs

WHiZSTA commented 3 months ago

nope not running that mod.

https://mclo.gs/jr50lS5

sisby-folk commented 3 months ago

does this occur without distant horizons and C2ME? if so, does this occur on a fresh instance with just atlas?

WHiZSTA commented 3 months ago

it still occurs with distant horizons removed, i'm not sure what c2me is to try disabling it. ill try to see if i can figure out what it is.

WHiZSTA commented 3 months ago

yeah still crashes with the concurrent chunk management disabled as well

sisby-folk commented 3 months ago

I can't reproduce on fresh with just atlas so you'll need to check as well - those were just guesses.

sisby-folk commented 3 months ago

@WHiZSTA can you try this with latest atlas please? the system that is crashing in your log got reworked.

WHiZSTA commented 3 months ago

I have bad news and good news...

the bad news is it crashes MC with the existing maps/data (which i'd prefer to keep if possible).. Time: 2024-06-27 11:17:35 Description: Unexpected error java.lang.IndexOutOfBoundsException: Index 361 out of bounds for length 255 at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source) at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source) at java.base/java.util.Objects.checkIndex(Unknown Source) at java.base/java.util.ArrayList.get(Unknown Source) at folk.sisby.surveyor.util.RegistryPalette$ValueView.method_10200(RegistryPalette.java:72) at folk.sisby.antique_atlas.TerrainTiling.terrainToTile(TerrainTiling.java:115) at folk.sisby.antique_atlas.WorldAtlasData.tick(WorldAtlasData.java:85) at folk.sisby.antique_atlas.AntiqueAtlas.lambda$onInitializeClient$4(AntiqueAtlas.java:48) at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$6(ClientTickEvents.java:63) at net.minecraft.class_638.handler$cme000$fabric-lifecycle-events-v1$tickWorldAfterBlockEntities(class_638.java:4625) at net.minecraft.class_638.method_18116(class_638.java:260) at net.minecraft.class_310.method_1574(class_310.java:1901) at net.minecraft.class_310.method_1523(class_310.java:1181) at net.minecraft.class_310.method_1514(class_310.java:802) at net.minecraft.client.main.Main.main(Main.java:250) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

The good news is, if i delete the surveyor data directory, i can go between the overworld and nether without crashing. Which means either you fixed it or there is some kindda corrupt data?

WHiZSTA commented 3 months ago

I tried copying the overworld files back in t restore the map, but they don't get recognized. it appears the mod learns about what is in the overworld directory based on what's in the main user account file? As when i copy that back it crashes mc again. e856a770-ee21-4fa3-b145-ee2552e6873c.zip

WHiZSTA commented 3 months ago

Thought i'd try just exploring it back with /fly.. hit that same error... so it must be a new bug.. Time: 2024-06-27 14:51:33 Description: Unexpected error java.lang.IndexOutOfBoundsException: Index 202 out of bounds for length 170 at java.base/jdk.internal.util.Preconditions.outOfBounds(Unknown Source) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Unknown Source) at java.base/jdk.internal.util.Preconditions.checkIndex(Unknown Source) at java.base/java.util.Objects.checkIndex(Unknown Source) at java.base/java.util.ArrayList.get(Unknown Source) at folk.sisby.surveyor.util.RegistryPalette$ValueView.method_10200(RegistryPalette.java:72) at folk.sisby.antique_atlas.TerrainTiling.terrainToTile(TerrainTiling.java:115) at folk.sisby.antique_atlas.WorldAtlasData.tick(WorldAtlasData.java:85) at folk.sisby.antique_atlas.AntiqueAtlas.lambda$onInitializeClient$4(AntiqueAtlas.java:48) at net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents.lambda$static$6(ClientTickEvents.java:63) at net.minecraft.class_638.handler$cme000$fabric-lifecycle-events-v1$tickWorldAfterBlockEntities(class_638.java:4625) at net.minecraft.class_638.method_18116(class_638.java:260) at net.minecraft.class_310.method_1574(class_310.java:1901) at net.minecraft.class_310.method_1523(class_310.java:1181) at net.minecraft.class_310.method_1514(class_310.java:802) at fudge.notenoughcrashes.mixinhandlers.InGameCatcher.handleClientCrash(InGameCatcher.java:37) at net.minecraft.class_310.modify$fab000$notenoughcrashes$atTheEndOfSecondCatchBeforePrintingCrashReport(class_310.java:26598) at net.minecraft.class_310.method_1514(class_310.java:829) at net.minecraft.client.main.Main.main(Main.java:250) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

sisby-folk commented 3 months ago

Reproduced on an instance with just atlas while debugging by mistake - we'll look into this.

sisby-folk commented 3 months ago

Can you try this with latest? we've made a few corrections.

sisby-folk commented 2 months ago

closing this in favor of #143