Server Performance - Smooth Chunk Save[Forge/Fabric]

Server Performance - Smooth Chunk Save[Forge/Fabric]

62M Downloads

[Bug]: Incompat with C2ME and newest Smoothchunk on Fabric 1.21.1

suerion opened this issue ยท 3 comments

commented

Describe the bug you're experiencing

I got on Startup with new Instance an issue with C2ME and Smoothchunk

smoothchunk: Smooth chunk save Mod 1.21-3.9
c2me: Concurrent Chunk Management Engine 0.3.0+alpha.0.310+1.21.1
fabric-api: Fabric API 0.114.0+1.21.1
neruina: Neruina 2.2.7

Latest.log:
https://mclo.gs/JZJI98G

Crash.log:
https://mclo.gs/ljbrMwK

[15:44:49 WARN] [Server thread]: [FabricLoader/Mixin] @Redirect conflict. Skipping smoothchunk.mixins.json:ChunkMapSlowUnload from mod smoothchunk->@Redirect::getSize(Ljava/util/Queue;)I with priority 1000, already redirected by c2me-opts-scheduling.mixins.json:general_overheads.MixinThreadedAnvilChunkStorage from mod c2me-opts-scheduling->@Redirect::redirectUnloadSize(Ljava/util/Queue;)I with priority 1100
[15:44:49 ERROR] [Server thread]: [MinecraftServer] Encountered an unexpected exception
java.lang.RuntimeException: Mixin transformation of net.minecraft.class_3898 failed
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427) ~[fabric-loader-0.16.10.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.16.10.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.16.10.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.16.10.jar:?]
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
        at knot/net.minecraft.server.level.ServerChunkCache.<init>(ServerChunkCache.java:84) ~[?:?]
        at knot/net.minecraft.server.level.ServerLevel.<init>(MixinServerLevel.java:242) ~[?:?]
        at knot/net.minecraft.server.MinecraftServer.createLevels(MinecraftServer.java:377) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:342) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:185) ~[?:?]
        at knot/net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:664) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:281) ~[server-intermediary.jar:?]
        at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
        at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.16.10.jar:?]
        ... 12 more
Caused by: org.spongepowered.asm.mixin.injection.throwables.InjectionError: Critical injection failure: Redirector getSize(Ljava/util/Queue;)I in smoothchunk.mixins.json:ChunkMapSlowUnload from mod smoothchunk failed injection check, (0/1) succeeded. Scanned 0 target(s). Using refmap smoothchunk-fabric-refmap.json
        at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.postInject(InjectionInfo.java:531) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinTargetContext.applyInjections(MixinTargetContext.java:1490) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyInjections(MixinApplicatorStandard.java:752) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:330) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:246) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:437) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:418) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.15.4+mixin.0.8.7.jar:0.15.4+mixin.0.8.7]
        at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.16.10.jar:?]
        ... 12 more

Hope you could fix this, C2ME has worked well with the older version

Reproducability

Add C2ME
Update Smoothchunk to the newest Version,
Use Also Neruina

[15:44:49 ERROR] [Server thread]: [MinecraftServer] Exception stopping the server
java.lang.NullPointerException: Cannot invoke "net.minecraft.class_3218.method_17983()" because "com.bawnorton.neruina.handler.PersitanceHandler.world" is null
        at knot/com.bawnorton.neruina.handler.PersitanceHandler.getServerState(PersitanceHandler.java:28) ~[Neruina-2.2.7-fabric+1.21.jar:?]
        at knot/com.bawnorton.neruina.Neruina.getPersitanceHandler(Neruina.java:49) ~[Neruina-2.2.7-fabric+1.21.jar:?]
        at knot/net.minecraft.server.MinecraftServer.handler$goe000$neruina$onServerStop(MinecraftServer.java:21122) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.dedicated.DedicatedServer.stopServer(DedicatedServer.java:561) ~[?:?]
        at knot/net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:735) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:281) ~[server-intermediary.jar:?]
        at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]

Mod up to date

  • Before submitting this issue I updated to the newest version and reproduced it

Minecraft version

1.21.1

Modloader version

Fabric

Logs

Logs are aboce from mclo.gs

commented

Had a similar crash using just C2ME + Smoothchunk, so I removed C2ME, since it seems to cause more stutters. Neruina was not in my modpack.

commented

From Ishland Dev from c2me

We include something similar all the time, called the enhanced autosave. it saves chunks when the server is idle. There's probably no need for smooth chunk save when using C2ME.

See #233 (might be outdated a bit)

commented

fixed in 4.0, incompat with c2me