Dekunutter / eastwardjourneys

Minecraft 1.20 mod with content based heavily around east-asian locales
0 stars 0 forks source link

[1.20.1 Forge] v1.0.2 - java.lang.IllegalStateException: Feature order cycle found #3

Closed MrKashew closed 1 year ago

MrKashew commented 1 year ago

Seems order cycle crash still happens on server start with new version crash-2023-08-20_16.47.22-server.txt

Dekunutter commented 1 year ago

I believe this is actually an issue with Terralith and not Eastward Journeys. Fixing this feature order cycle to be compatible with Terralith could actually have problems with some biomes in vanilla due to the ordering of some of the features loaded into the biomes. See here for some more details: https://github.com/Dekunutter/eastwardjourneys/issues/1

I will keep this issue open for the time being, but I'm taking no action as I wait for Terralith to launch a new version that I can test against

catter1 commented 1 year ago

Hi, I am one of the Terralith devs. I followed the issue chain, and saw how it was related to a bug someone made on Terralith's issue page: Stardust-Labs-MC/Terralith#42

Normally, when trying to diagnose Feature Order Cycles, I use Cyanide. This will tell me exactly which features are placed in which order. So, I had a user in the Discord try to launch the game with Eastward Journeys, Terralith, and Cyanide. However, they got a different error instead. Could you take a look at it, @Dekunutter? Line 125 of this log.

If that error can get out of the way, Cyanide will be able to help with the initial issue. Thanks!

Dekunutter commented 1 year ago

Hey, thanks for connecting. I'll take a look. I fixed a feature order cycle issue with Eastward Journeys in a previous issue and it exposed another. If memory serves it was with Terralith's mantle_cave biome and how it orders the glow_lichen and patch_tall_grass_2 features. When adjusting my features to match Terralith's I ended up with a crash on vanilla.

But what I'll do here is address the issue Cyanide is having with a new local build of Eastward Journeys, and try to see what I can find and I'll report back.

Dekunutter commented 1 year ago

Cyanide is not a tool I had used before but here's what I got after fixing that incorrect sound file issue that was hiding the feature order cycle before:

Cycle: At step 8 Feature 'minecraft:glow_lichen' must be before 'minecraft:patch_tall_grass_2' (defined in 'eastwardjourneys:cherry_blossom_slopes' at index 0, 1 and 2 others) must be before 'minecraft:glow_lichen' (defined in 'terralith:cave/mantle_caves' at index 1, 2 and 1 others)

Full crash log

---- Minecraft Crash Report ---- // Why did you do that? Time: 2023-08-23 03:40:33 Description: Exception generating new chunk com.alcatrazescapee.cyanide.codec.FeatureCycleDetector$FeatureCycleException: A feature cycle was found. Cycle: At step 8 Feature 'minecraft:glow_lichen' must be before 'minecraft:patch_tall_grass_2' (defined in 'eastwardjourneys:cherry_blossom_slopes' at index 0, 1 and 2 others) must be before 'minecraft:glow_lichen' (defined in 'terralith:cave/mantle_caves' at index 1, 2 and 1 others) at com.alcatrazescapee.cyanide.codec.FeatureCycleDetector.buildFeaturesPerStep(FeatureCycleDetector.java:141) ~[cyanide-forge-1.20-4.0.0.jar%23161!/:4.0.0] {re:mixin,re:classloading} at net.minecraft.world.level.biome.FeatureSorter.handler$zzg000$buildFeaturesPerStepWithAdvancedCycleDetection(FeatureSorter.java:529) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:mixin,re:classloading,pl:mixin:APP:cyanide.common.mixins.json:FeatureSorterMixin,pl:mixin:A} at net.minecraft.world.level.biome.FeatureSorter.m_220603_(FeatureSorter.java) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:mixin,re:classloading,pl:mixin:APP:cyanide.common.mixins.json:FeatureSorterMixin,pl:mixin:A} at net.minecraft.world.level.chunk.ChunkGenerator.m_223094_(ChunkGenerator.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:183) ~[guava-31.1-jre.jar%23109!/:?] {} at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_(ChunkGenerator.java:288) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.world.level.chunk.ChunkStatus.m_279978_(ChunkStatus.java:108) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.level.chunk.ChunkStatus$SimpleGenerationTask.m_214024_(ChunkStatus.java:309) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.world.level.chunk.ChunkStatus.m_280308_(ChunkStatus.java:252) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:643) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar%23114!/:?] {} at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$29(ChunkMap.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?] {} at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {} at net.minecraft.server.level.ChunkTaskPriorityQueueSorter.m_143188_(ChunkTaskPriorityQueueSorter.java:62) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.m_18759_(ProcessorMailbox.java:91) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.m_18747_(ProcessorMailbox.java:146) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.run(ProcessorMailbox.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) ~[?:?] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {} at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {} at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Server thread Stacktrace: at com.alcatrazescapee.cyanide.codec.FeatureCycleDetector.buildFeaturesPerStep(FeatureCycleDetector.java:141) ~[cyanide-forge-1.20-4.0.0.jar%23161!/:4.0.0] {re:mixin,re:classloading} at net.minecraft.world.level.biome.FeatureSorter.handler$zzg000$buildFeaturesPerStepWithAdvancedCycleDetection(FeatureSorter.java:529) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:mixin,re:classloading,pl:mixin:APP:cyanide.common.mixins.json:FeatureSorterMixin,pl:mixin:A} at net.minecraft.world.level.biome.FeatureSorter.m_220603_(FeatureSorter.java) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:mixin,re:classloading,pl:mixin:APP:cyanide.common.mixins.json:FeatureSorterMixin,pl:mixin:A} at net.minecraft.world.level.chunk.ChunkGenerator.m_223094_(ChunkGenerator.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:183) ~[guava-31.1-jre.jar%23109!/:?] {} at net.minecraft.world.level.chunk.ChunkGenerator.m_213609_(ChunkGenerator.java:288) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.world.level.chunk.ChunkStatus.m_279978_(ChunkStatus.java:108) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.level.chunk.ChunkStatus$SimpleGenerationTask.m_214024_(ChunkStatus.java:309) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.world.level.chunk.ChunkStatus.m_280308_(ChunkStatus.java:252) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:643) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar%23114!/:?] {} at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$29(ChunkMap.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?] {} at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {} at net.minecraft.server.level.ChunkTaskPriorityQueueSorter.m_143188_(ChunkTaskPriorityQueueSorter.java:62) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.m_18759_(ProcessorMailbox.java:91) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.m_18747_(ProcessorMailbox.java:146) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.run(ProcessorMailbox.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} -- Chunk to be generated -- Details: Location: -4,-7 Position hash: -25769803780 Generator: net.minecraft.world.level.levelgen.NoiseBasedChunkGenerator@107b0034 Stacktrace: at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$27(ChunkMap.java:643) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at com.mojang.datafixers.util.Either$Left.map(Either.java:38) ~[datafixerupper-6.0.8.jar%23114!/:?] {} at net.minecraft.server.level.ChunkMap.lambda$scheduleChunkGeneration$29(ChunkMap.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?] {} at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[?:?] {} at net.minecraft.server.level.ChunkTaskPriorityQueueSorter.m_143188_(ChunkTaskPriorityQueueSorter.java:62) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.m_18759_(ProcessorMailbox.java:91) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.m_18747_(ProcessorMailbox.java:146) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at net.minecraft.util.thread.ProcessorMailbox.run(ProcessorMailbox.java:102) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading} at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395) ~[?:?] {} at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] {} at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] {} at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] {} at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] {} at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] {} -- Affected level -- Details: All players: 0 total; [] Chunk stats: 625 Level dimension: minecraft:overworld Level spawn location: World: (-40,64,-88), Section: (at 8,0,8 in -3,4,-6; chunk contains blocks -48,-64,-96 to -33,319,-81), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,-64,-512 to -1,319,-1) Level time: 0 game time, 0 day time Level name: New Worldtt Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Known server brands: forge Removed feature flags: Level was modded: true Level storage version: 0x04ABD - Anvil Stacktrace: at net.minecraft.server.MinecraftServer.m_129815_(MinecraftServer.java:355) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.m_130006_(MinecraftServer.java:308) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.server.IntegratedServer.m_7038_(IntegratedServer.java:63) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:634) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[client-1.20.1-20230612.114412-srg.jar%23166!/:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:833) ~[?:?] {} -- System Details -- Details: Minecraft Version: 1.20.1 Minecraft Version ID: 1.20.1 Operating System: Windows 10 (amd64) version 10.0 Java Version: 17.0.3, Microsoft Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft Memory: 414645392 bytes (395 MiB) / 838860800 bytes (800 MiB) up to 2147483648 bytes (2048 MiB) CPUs: 4 Processor Vendor: GenuineIntel Processor Name: Intel(R) Core(TM) i5-6600K CPU @ 3.50GHz Identifier: Intel64 Family 6 Model 94 Stepping 3 Microarchitecture: Skylake (Client) Frequency (GHz): 3.50 Number of physical packages: 1 Number of physical CPUs: 4 Number of logical CPUs: 4 Graphics card #0 name: NVIDIA GeForce GTX 1070 Ti Graphics card #0 vendor: NVIDIA (0x10de) Graphics card #0 VRAM (MB): 4095.00 Graphics card #0 deviceId: 0x1b82 Graphics card #0 versionInfo: DriverVersion=31.0.15.3640 Memory slot #0 capacity (MB): 16384.00 Memory slot #0 clockSpeed (GHz): 2.13 Memory slot #0 type: DDR4 Memory slot #1 capacity (MB): 16384.00 Memory slot #1 clockSpeed (GHz): 2.13 Memory slot #1 type: DDR4 Virtual memory max (MB): 37563.05 Virtual memory used (MB): 18356.87 Swap memory total (MB): 4864.00 Swap memory used (MB): 72.26 JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M Server Running: true Player Count: 0 / 8; [] Data Packs: vanilla, mod:terralith, mod:eastwardjourneys, mod:terrablender (incompatible), mod:forge, mod:geckolib, mod:cyanide (incompatible) Enabled Feature Flags: minecraft:vanilla World Generation: Stable Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge' Launched Version: 1.20.1-forge-47.1.43 ModLauncher: 10.0.9+10.0.9+main.dcd20f30 ModLauncher launch target: forgeclient ModLauncher naming: srg ModLauncher services: mixin-0.8.5.jar mixin PLUGINSERVICE eventbus-6.0.5.jar eventbus PLUGINSERVICE fmlloader-1.20.1-47.1.43.jar slf4jfixer PLUGINSERVICE fmlloader-1.20.1-47.1.43.jar object_holder_definalize PLUGINSERVICE fmlloader-1.20.1-47.1.43.jar runtime_enum_extender PLUGINSERVICE fmlloader-1.20.1-47.1.43.jar capability_token_subclass PLUGINSERVICE accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE fmlloader-1.20.1-47.1.43.jar runtimedistcleaner PLUGINSERVICE modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE FML Language Providers: minecraft@1.0 lowcodefml@null javafml@null Mod List: client-1.20.1-20230612.114412-srg.jar |Minecraft |minecraft |1.20.1 |DONE |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f Terralith_1.20.1_v2.4.3.jar |Terralith |terralith |2.4.3 |DONE |Manifest: NOSIGNATURE eastwardjourneys -1.0.3.jar |Eastward Journeys |eastwardjourneys |1.0.3 |DONE |Manifest: NOSIGNATURE TerraBlender-forge-1.20.1-3.0.0.169.jar |TerraBlender |terrablender |3.0.0.169 |DONE |Manifest: NOSIGNATURE forge-1.20.1-47.1.43-universal.jar |Forge |forge |47.1.43 |DONE |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90 geckolib-forge-1.20.1-4.2.1.jar |GeckoLib 4 |geckolib |4.2.1 |DONE |Manifest: NOSIGNATURE cyanide-forge-1.20-4.0.0.jar |Cyanide |cyanide |4.0.0 |DONE |Manifest: NOSIGNATURE Crash Report UUID: d986bf40-b54a-48a7-bc65-1c0358c974b2 FML: 47.1 Forge: net.minecraftforge:47.1.43

To me this seems to be indicating that there's an incompatibility between Eastward Journeys and Terralith thanks to how we order the glow_lichen and patch_tall_grass_2 features. I believe that glow_lichen should proceed patch_tall_grass_2 as that is the ordering I see when viewing source in Forge for all Minecraft's vanilla biomes that employ these features. My biome, cherry_blossom_slopes, also follows this order. Looking at Terralith's mantle_cave biome it seems the feature order does not match.

If you want to check this out for yourself though, I pushed a quick build up to Modrinth

Darklight-007 commented 1 year ago

crashes again with terralith even with 1.0.3 update debug.log latest.log

catter1 commented 1 year ago

If you want to check this out for yourself though, I pushed a quick build up to Modrinth

Perfect, thanks! Will (hopefully) check this out tomorrow and push an update

Dekunutter commented 1 year ago

crashes again with terralith even with 1.0.3 update debug.log latest.log

@Darklight-007 v1.0.3 addresses crashes with Terralith from an error within Eastward Journeys, we're trying to sort out an remaining error that I'm under the impression may be on the Terralith side. A v1.0.4 of Eastward Journeys which addresses this could have some issues with vanilla Minecraft which is what I'm trying to avoid. So a proper fix is probably a few more days away as we sort this out!

catter1 commented 1 year ago

Issue is now fixed in Terralith 2.4.4 - thanks for collaborating on this issue!

Dekunutter commented 1 year ago

Issue is now fixed in Terralith 2.4.4 - thanks for collaborating on this issue!

Thank you for the help @catter1! I will verify later tonight and close out this issue then