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

server crash with reinforced chests #302

Open
3 tasks done
vaniron opened this issue Jan 17, 2025 · 5 comments
Open
3 tasks done

server crash with reinforced chests #302

vaniron opened this issue Jan 17, 2025 · 5 comments
Labels
bug Something isn't working

Comments

@vaniron
Copy link

vaniron commented Jan 17, 2025

Expected behavior

Happens when inserting more items at once, other storage mods are fine. Putting those chest into blacklist doesnt help, puting item-insert action on blacklist doesnt help either.

Description: Exception in server tick loop

java.lang.NullPointerException: Parameter specified as non-null is null: method com.github.quiltservertools.ledger.callbacks.ItemRemoveCallback$DefaultImpls.EVENT$lambda$1$lambda$0, parameter pos
	at knot//com.github.quiltservertools.ledger.callbacks.ItemRemoveCallback$DefaultImpls.EVENT$lambda$1$lambda$0(ItemRemoveCallback.kt)
	at knot//MC//net.minecraft.screen.ScreenHandler.handler$cip000$ledger$ledgerCloseScreenLogChanges(ScreenHandler.java:1945)
	at knot//MC//net.minecraft.screen.ScreenHandler.onClosed(ScreenHandler.java:569)
	at knot//atonkish.reinfcore.screen.ReinforcedStorageScreenHandler.onClosed(ReinforcedStorageScreenHandler.java:208)
	at knot//MC//net.minecraft.server.network.ServerPlayerEntity.onHandledScreenClosed(ServerPlayerEntity.java:1219)
	at knot//MC//net.minecraft.entity.player.PlayerEntity.remove(PlayerEntity.java:1454)
	at knot//MC//net.minecraft.server.world.ServerWorld.removePlayer(ServerWorld.java:953)
	at knot//MC//net.minecraft.server.PlayerManager.remove(PlayerManager.java:393)
	at knot//MC//net.minecraft.server.network.ServerPlayNetworkHandler.cleanUp(ServerPlayNetworkHandler.java:1250)
	at knot//MC//net.minecraft.server.network.ServerPlayNetworkHandler.onDisconnected(ServerPlayNetworkHandler.java:1239)
	at knot//MC//net.minecraft.network.ClientConnection.handleDisconnection(ClientConnection.java:673)
	at knot//MC//net.minecraft.server.ServerNetworkIo.tick(ServerNetworkIo.java:189)
	at knot//net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer.java:1032)
	at knot//MC//net.minecraft.server.dedicated.MinecraftDedicatedServer.tickWorlds(MinecraftDedicatedServer.java:299)
	at knot//net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:912)
	at knot//net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:697)
	at knot//net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281)
	at [email protected]/java.lang.Thread.run(Thread.java:1583)

Observed/actual behavior

crash after putting items into chests

Steps/models to reproduce

put many items in reinforced chest

What operating system are you running

Windows

Minecraft version

1.21.1

Ledger version

1.3.5

Logs

in description

Agreements

  • I am running the latest version of the mod.
  • My version of Minecraft is supported.
  • I have searched for and ensured there isn't already an open issue regarding this.

Other

No response

@vaniron vaniron added the bug Something isn't working label Jan 17, 2025
@addidotlol
Copy link

We hit this same issue using More Chest Variants.

java.lang.NullPointerException: Parameter specified as non-null is null: method com.github.quiltservertools.ledger.callbacks.ItemInsertCallback$DefaultImpls.EVENT$lambda$1$lambda$0, parameter pos
	at knot/com.github.quiltservertools.ledger.callbacks.ItemInsertCallback$DefaultImpls.EVENT$lambda$1$lambda$0(ItemInsertCallback.kt) ~[ledger-1.3.5.jar:?]
	at knot/net.minecraft.class_1703.handler$bij000$ledger$ledgerCloseScreenLogChanges(class_1703.java:1441) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_1703.method_7595(class_1703.java:569) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_1707.method_7595(class_1707.java:108) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_3222.method_14247(class_3222.java:1219) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_1657.method_5650(class_1657.java:1454) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_3218.method_18770(class_3218.java:953) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_3324.method_14611(class_3324.java:393) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_3244.method_52415(class_3244.java:1250) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_3244.method_10839(class_3244.java:1239) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_2535.method_10768(class_2535.java:673) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_1255.method_19537(class_1255.java:93) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_8609.method_60673(class_8609.java:170) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_8609.method_52396(class_8609.java:164) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_3324.method_14597(class_3324.java:787) ~[server-intermediary.jar:?]
	at knot/net.minecraft.server.MinecraftServer.method_3782(MinecraftServer.java:602) ~[server-intermediary.jar:?]
	at knot/net.minecraft.class_3176.method_3782(class_3176.java:561) ~[server-intermediary.jar:?]
	at knot/net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:735) ~[server-intermediary.jar:?]
	at knot/net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281) ~[server-intermediary.jar:?]
	at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]

@imagelesskink
Copy link

Happened to me with a regular barrel.

java.lang.NullPointerException: Parameter specified as non-null is null: method com.github.quiltservertools.ledger.callbacks.ItemInsertCallback$DefaultImpls.EVENT$lambda$1$lambda$0, parameter pos
at knot//com.github.quiltservertools.ledger.callbacks.ItemInsertCallback$DefaultImpls.EVENT$lambda$1$lambda$0(ItemInsertCallback.kt)
at knot//MC//net.minecraft.screen.ScreenHandler.handler$ebl000$ledger$ledgerCloseScreenLogChanges(ScreenHandler.java:3484)
at knot//MC//net.minecraft.screen.ScreenHandler.onClosed(ScreenHandler.java:613)
at knot//MC//net.minecraft.screen.GenericContainerScreenHandler.onClosed(GenericContainerScreenHandler.java:104)
at knot//MC//net.minecraft.server.network.ServerPlayerEntity.onHandledScreenClosed(ServerPlayerEntity.java:1410)
at knot//MC//net.minecraft.server.network.ServerPlayerEntity.closeHandledScreen(ServerPlayerEntity.java:1405)
at knot//MC//net.minecraft.server.network.ServerPlayerEntity.tick(ServerPlayerEntity.java:700)
at knot//MC//net.minecraft.server.world.ServerWorld.tickEntity(ServerWorld.java:762)
at knot//MC//net.minecraft.world.World.tickEntity(World.java:502)
at knot//MC//net.minecraft.server.world.ServerWorld.method_31420(ServerWorld.java:407)
at knot//MC//net.minecraft.world.EntityList.forEach(EntityList.java:54)
at knot//MC//net.minecraft.server.world.ServerWorld.tick(ServerWorld.java:377)
at knot//net.minecraft.server.MinecraftServer.mixinextras$bridge$method_18765$346(MinecraftServer.java)
at knot//net.minecraft.server.MinecraftServer.wrapOperation$zln000$carpet-ams-addition$tickWorlds(MinecraftServer.java:4707)
at knot//net.minecraft.server.MinecraftServer.mixinextras$bridge$wrapOperation$zln000$carpet-ams-addition$tickWorlds$347(MinecraftServer.java)
at knot//net.minecraft.server.MinecraftServer.wrapOperation$cno000$carpet-tis-addition$yeetUpdateSuppressionCrash_implOnTickWorlds(MinecraftServer.java:8202)
at knot//net.minecraft.server.MinecraftServer.tickWorlds(MinecraftServer.java:1069)
at knot//net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:953)
at knot//net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:713)
at knot//net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:292)
at [email protected]/java.lang.Thread.run(Thread.java:1583)

@LieOnLion
Copy link

LieOnLion commented Feb 9, 2025

Seems to work fine in a singleplayer world, you need a dedicated server for it to crash. (only double chests)
I have a spare for testing if its needed.

edit: will also test my variant barrels on the server

@davidzus
Copy link

davidzus commented Feb 9, 2025

From what i could test the More Varient Barrels work normaly on a dedicated server, with ledger loging every activity normaly

@davidzus
Copy link

davidzus commented Feb 9, 2025

A workaround i made for my Server is just to log the player position when the Chest pos is null, this is Purely done to still keep logging of taking items out of a chest without a crash but the logging isnt done on the chest itself but on the ground where the player was standing. I havent fully tested it but so far it worked with the Large Chests. To check if a player has removed or inserted an Item into the chest i need to run /lg search range:10 action:item-insert, this isnt Perfect but will work for my usecase

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants