Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception thrown while saving oversized chunks #86

Closed
jellysquid3 opened this issue Jul 21, 2020 · 7 comments
Closed

Exception thrown while saving oversized chunks #86

jellysquid3 opened this issue Jul 21, 2020 · 7 comments
Labels
bug Something isn't working confirmed The issue has been confirmed by a project maintainer or through multiple user reports critical This issue is of critical importance pending release This issue has been fixed in another branch but is pending a merge or release

Comments

@jellysquid3
Copy link
Member

Lithium is unable to handle oversized chunks correctly (possibly due to a problem with the compactor?) Trying to save oversized chunks results in the following exception being thrown and the chunk not being saved:

java.lang.IllegalStateException: Cannot grow
	at me.jellysquid.mods.lithium.common.world.chunk.LithiumHashPalette.computeEntry(LithiumHashPalette.java:69) ~[lithium-fabric-mc1.16.1-0.5.0.jar:?]
	at me.jellysquid.mods.lithium.common.world.chunk.LithiumHashPalette.method_12291(LithiumHashPalette.java:58) ~[lithium-fabric-mc1.16.1-0.5.0.jar:?]
	at net.minecraft.class_3508.compact(class_3508.java:557) ~[intermediary-server.jar:?]
	at net.minecraft.class_2841.method_12330(class_2841.java:1099) ~[intermediary-server.jar:?]
	at net.minecraft.class_2852.method_12410(class_2852.java:261) ~[intermediary-server.jar:?]
	at net.minecraft.class_3898.method_17228(class_3898.java:716) ~[intermediary-server.jar:?]
	at net.minecraft.class_3898.method_18843(class_3898.java:443) ~[intermediary-server.jar:?]
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:670) ~[?:1.8.0_252]
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_252]
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_252]
	at net.minecraft.class_3898.method_20605(class_3898.java:424) ~[intermediary-server.jar:?]
	at net.minecraft.class_3898.method_17233(class_3898.java:401) ~[intermediary-server.jar:?]
	at net.minecraft.class_3215.method_12127(class_3215.java:339) ~[intermediary-server.jar:?]
	at net.minecraft.class_3218.method_18765(class_3218.java:347) ~[intermediary-server.jar:?]
	at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:873) ~[intermediary-server.jar:?]
	at net.minecraft.class_3176.method_3813(class_3176.java:306) ~[intermediary-server.jar:?]
	at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:813) ~[intermediary-server.jar:?]
	at net.minecraft.server.MinecraftServer.handler$zdn000$modifiedRunLoop(MinecraftServer.java:3296) ~[intermediary-server.jar:?]
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:653) ~[intermediary-server.jar:?]
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:256) ~[intermediary-server.jar:?]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
@jellysquid3 jellysquid3 added bug Something isn't working confirmed The issue has been confirmed by a project maintainer or through multiple user reports critical This issue is of critical importance labels Jul 21, 2020
@jellysquid3
Copy link
Member Author

This issue is causing chunk saving to fail in high-risk areas, such as chunks with many player-created chests or entities. Not a good situation. We need to fix the problem as soon as possible or disable the problematic patches. As far as I can tell, this issue only started occurring after the update to Minecraft 1.16.

Players can work around the problem by disabling the broken patch in their configuration file:

mixin.chunk.palette=false

@James103
Copy link

This issue is causing chunk saving to fail in high-risk areas, such as chunks with many player-created chests or entities.

Does this allow for the written book-based duplication exploit mentioned by SalC1 here?

@2No2Name
Copy link
Member

2No2Name commented Aug 6, 2020

If anyone has instructions on how to reproduce this, or can provide a world download where the issue occurs after loading the world, please post them here.

@TheoCGaming
Copy link

TheoCGaming commented Aug 13, 2020

I will create a world with the written book exploit that I know of. I will supply the world download when finished.

Edit 1 is no longer relevant.

Edit 3: WARNING: World may be large. Please extract before putting in "saves" folder.
book dupe world.zip

Edit 4: Issue has been untested in this world.

@2No2Name
Copy link
Member

The issue probably isn't about "oversized" chunks but chunk sections that for some reason don't have the normal air in their palette.
I believe 202419e fixes this issue.

@2No2Name
Copy link
Member

The world that reproduced the issue for me (some random world that probably was upgraded from 1.16) the crash no longer occurs.

@2No2Name 2No2Name added the pending release This issue has been fixed in another branch but is pending a merge or release label Aug 19, 2020
@jellysquid3
Copy link
Member Author

The fix has been released with Lithium 0.5.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working confirmed The issue has been confirmed by a project maintainer or through multiple user reports critical This issue is of critical importance pending release This issue has been fixed in another branch but is pending a merge or release
Development

No branches or pull requests

4 participants