Concurrent Chunk Management Engine (Fabric)

Concurrent Chunk Management Engine (Fabric)

231k Downloads

C2ME can't read some chunks in 21w41a

AuroraEchoes opened this issue ยท 9 comments

commented

Hello,

C2ME is causing the below error semi-regularly when on 21w41a and reading chunks.

[06:05:51] [C2ME worker #7/ERROR]: Couldn't load chunk [-5, -126], chunk data will be lost! java.lang.RuntimeException: Failed to read PalettedContainer: Invalid length given for storage, got: 342 but expected: 256 at com.mojang.serialization.DataResult.lambda$getOrThrow$4(DataResult.java:100) ~[datafixerupper-4.0.26.jar:?] at com.mojang.datafixers.util.Either$Right.map(Either.java:99) ~[datafixerupper-4.0.26.jar:?] at com.mojang.serialization.DataResult.getOrThrow(DataResult.java:93) ~[datafixerupper-4.0.26.jar:?] at net.minecraft.class_2852.method_12395(class_2852.java:103) ~[intermediary-server-21w41a.jar:?] at net.minecraft.class_3898.mdbcf2c1$lambda$loadChunk$0$14(class_3898.java:5899) ~[intermediary-server-21w41a.jar:?] at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642) [?:?] at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:479) [?:?] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:295) [?:?] at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016) [?:?] at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665) [?:?] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598) [?:?] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) [?:?]

Thanks!

commented

Thank you for letting us know. Could you provide your full mod list?

commented

Sure.

`[06:01:20] [main/INFO]: Loading 40 mods:
- c2me 0.2.0+alpha.5.39

- c2me-fabric_libs_ 0.2.0+alpha.5.39

- fabric 0.40.9+1.18

- fabric-api-base 0.3.0+a02b44633e

- fabric-api-lookup-api-v1 1.3.0+cbda93183e

- fabric-biome-api-v1 5.0.0+bb0966243e

- fabric-command-api-v1 1.1.3+5ab9934c3e

- fabric-commands-v0 0.2.2+92519afa3e

- fabric-containers-v0 0.1.12+cbda93183e

- fabric-content-registries-v0 0.3.0+cbda93183e

- fabric-crash-report-info-v1 0.1.5+be9da3103e

- fabric-dimensions-v1 2.1.1+d1937ce43e

- fabric-entity-events-v1 1.2.4+8f2c3e043e

- fabric-events-interaction-v0 0.4.12+dc3d5c473e

- fabric-events-lifecycle-v0 0.2.1+92519afa3e

- fabric-game-rule-api-v1 1.0.7+cbda93183e

- fabric-item-api-v1 1.2.4+cbda93183e

- fabric-item-groups-v0 0.2.10+b7ab61213e

- fabric-lifecycle-events-v1 1.4.6+d1937ce43e

- fabric-loot-tables-v1 1.0.4+a02b44633e

- fabric-mining-levels-v0 0.1.3+92519afa3e

- fabric-networking-api-v1 1.0.14+6eb8b35a3e

- fabric-networking-v0 0.3.2+92519afa3e

- fabric-object-builder-api-v1 1.10.9+cbda93183e

- fabric-object-builders-v0 0.7.3+a02b44633e

- fabric-particles-v1 0.2.4+a02b44633e

- fabric-permissions-api-v0 0.1-SNAPSHOT

- fabric-registry-sync-v0 0.8.0+bb0966243e

- fabric-rendering-data-attachment-v1 0.2.0+8f2c3e043e

- fabric-rendering-fluids-v1 0.1.14+465822303e

- fabric-resource-loader-v0 0.4.8+a00e834b3e

- fabric-screen-handler-api-v1 1.1.8+cbda93183e

- fabric-structure-api-v1 2.0.2+6eb8b35a3e

- fabric-tag-extensions-v0 1.2.2+8f2c3e043e

- fabric-tool-attribute-api-v1 1.2.12+b7ab61213e

- fabric-transfer-api-v1 1.4.0+c683a6553e

- fabricloader 0.12.1

- java 16

- minecraft 1.18-alpha.21.41.a

- starlight 1.0.0+fabric.48ebb3a`

In actuality, that is just Fabric API, C2ME and Starlight...

commented

News to me that C2ME had settings! Here:

# (Default: 8) Configures the parallelism of global executor
globalExecutorParallelism = 8

# Configuration for async io system
[asyncIO]
	# (Default: true) Whether to enable this feature
	enabled = true

# Configuration for threaded world generation
[threadedWorldGen]
	# (Default: true) Whether to allow feature generation (world decorations like trees, ores and etc.) run in parallel 
	# (may cause incompatibility with other mods)
	allowThreadedFeatures = false
	# (Default: false) Whether to allow reducing lock radius 
	# (may cause incompatibility with other mods)
	reduceLockRadius = false
	# (Default: false) (Experimental in 1.18 snapshots) 
	# Whether to enable global MultiBiomeCache to accelerate worldgen 
	# This increases memory allocation 
	useGlobalBiomeCache = false
	# (Default: true) Whether to enable this feature
	enabled = true

# Configuration for vanilla worldgen optimizations
[vanillaWorldGenOptimizations]
	# (Default: true) Whether to enable this feature 
	# (may cause incompatibility with other mods)
	enabled = true
	# (Default: true) Whether to enable End Biome Cache to accelerate The End worldgen 
	# This is included in lithium-fabric 
	# (may cause incompatibility with other mods) 
	useEndBiomeCache = true

# Configuration for general optimizations
[generalOptimizations]
	# (Default: true) Whether to let async chunk request no longer block server thread 
	# (may cause incompatibility with other mods) 
	optimizeAsyncChunkRequest = true
	# (Default: -1) Defines which chunk compression should be used 
	# -1 for Vanilla default (also prevents mixin modifying vanilla default  
	# from being applied) 
	# 1  for GZip (RFC1952) (Vanilla compatible) 
	# 2  for Zlib (RFC1950) (Vanilla default) (Vanilla compatible) 
	# 3  for Uncompressed (Fastest, but higher disk usage) (Vanilla compatible) 
	#  
	# Original chunk data will still readable after modifying this option  
	# as this option only affects newly stored chunks 
	# Other values can result in crashes when starting minecraft  
	# to prevent further damage
	#
	chunkStreamVersion = -1

# Configuration for no-tick view distance
[noTickViewDistance]
	# (Default: true) Weather to enable no-tick view distance
	enabled = true
	# (Default: 6) No-tick view distance updates per tick 
	# Lower this for a better latency and higher this for a faster loading
	updatesPerTick = 6
	# (Default: false) Whether to use compatibility mode to send chunks 
	# This may fix some mod compatibility issues
	compatibilityMode = false

# Configuration for clientside functions
[clientSide]

	# Configuration for modifying clientside max view distance
	[clientSide.modifyMaxVDConfig]
		# (Default: true) Weather to enable c2me clientside features
		enabled = true
		# (Default: 64) Max render distance allowed in game options
		maxViewDistance = 64

commented

should have asked for this earlier, c2me settings aswell

commented

This seems identical to a bug related with Lithium 0.7.4, where it sometimes writes mismatched palette sizes.
If you are trying to load a world from 1.17 that was used with lithium, this will happen since 1.18 no longer accepts these palette sizes, causing it to completely regenerate the chunk.

commented

Looks like CaffeineMC/lithium-fabric#279
Can you try reproducing this issue without c2me?

commented

I removed C2ME and haven't encountered the same issue.

commented

Try again with backups before upgrading the world to 1.18 snapshots.

commented

Closed due to inactivity.