TechnicallyCoded / Inventory-Rollback-Plus

Spigot/Bukkit plugin that allows server moderators to restore player items and data from backups.
https://www.spigotmc.org/resources/85811/
Other
77 stars 45 forks source link

Support: Unable to save item stacks. #159

Open borekKSH opened 1 month ago

borekKSH commented 1 month ago

[19:57:33 WARN]: [InventoryRollbackPlus] Plugin InventoryRollbackPlus v1.6.17 generated an exception while executing task 325264 java.lang.IllegalStateException: Unable to save item stacks. at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.inventory.SaveInventory.toBase64(SaveInventory.java:173) ~[InventoryRollbackPlus-1.6.17.jar:?] at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.data.MySQL.setEnderChest(MySQL.java:244) ~[InventoryRollbackPlus-1.6.17.jar:?] at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.data.PlayerData.setEnderChest(PlayerData.java:163) ~[InventoryRollbackPlus-1.6.17.jar:?] at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.inventory.SaveInventory.lambda$createSave$1(SaveInventory.java:117) ~[InventoryRollbackPlus-1.6.17.jar:?] at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.21.jar:1.21-50-20889d0] at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.21.jar:1.21-50-20889d0] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.21.jar:?] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.NullPointerException: null value in entry: using-converts-to=null at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:33) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMapEntry.(ImmutableMapEntry.java:54) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap.entryOf(ImmutableMap.java:341) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:450) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:465) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.putAll(ImmutableMap.java:494) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.putAll(ImmutableMap.java:477) ~[guava-32.1.2-jre.jar:?] at org.bukkit.util.io.Wrapper.newWrapper(Wrapper.java:16) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?] at org.bukkit.util.io.BukkitObjectOutputStream.replaceObject(BukkitObjectOutputStream.java:48) ~[paper-api-1.21-R0.1-SNAPSHOT.jar:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1160) ~[?:?] at java.base/java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1394) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1190) ~[?:?] at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585) ~[?:?] at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542) ~[?:?] at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194) ~[?:?] at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585) ~[?:?] at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542) ~[?:?] at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194) ~[?:?] at java.base/java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1394) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1190) ~[?:?] at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585) ~[?:?] at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542) ~[?:?] at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194) ~[?:?] at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585) ~[?:?] at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542) ~[?:?] at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:358) ~[?:?] at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.inventory.SaveInventory.toBase64(SaveInventory.java:167) ~[InventoryRollbackPlus-1.6.17.jar:?] ... 9 more IT is normal?

TechnicallyCoded commented 1 month ago

Which item?

borekKSH commented 1 month ago

I don't know it displays every time a player leaves the server.

TechnicallyCoded commented 1 month ago

I need that information please or I can't fix it

borekKSH commented 1 month ago

what to send you to find?

TechnicallyCoded commented 1 month ago

The player's data file please. Based on their UUID.

borekKSH commented 1 month ago

Can it be from /world/playerdata?

TechnicallyCoded commented 1 month ago

Yes that's the folder

borekKSH commented 1 month ago

dataplayers.zip

TechnicallyCoded commented 1 month ago

Ya, except I need to know who it was... That's the data of every player, I just need the problematic one

borekKSH commented 1 month ago

5ea6284e-436d-4340-b649-c3b668f66291

TechnicallyCoded commented 1 month ago

Ok I can reproduce your problem using the player data file you sent. Now I need to find why.

borekKSH commented 1 month ago

sure, if you need anything else, let me know ;p

TechnicallyCoded commented 1 month ago

I forwarded the bug over to spigot since it has to do with handling items in general and not with the plugin specifically. I'll let you know if/when I get a reply.

borekKSH commented 1 month ago

super thanks lovely

TechnicallyCoded commented 1 month ago

Update: the issue was supposedly fixed in spigot (I'll be checking that). We now still need to wait for Paper to update from upstream for this to be correctly resolved.

borekKSH commented 1 month ago

oki thank you for the information

Blackberrii commented 4 days ago

Update: the issue was supposedly fixed in spigot (I'll be checking that). We now still need to wait for Paper to update from upstream for this to be correctly resolved.

Howdy, I'd just like to point out that it does not to seem to be fixed by Spigot or Paper

it does have a different message though

[16:30:17 WARN]: [InventoryRollbackPlus] Plugin InventoryRollbackPlus v1.6.17 generated an exception while executing task 7385135 java.lang.IllegalStateException: Unable to save item stacks. at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.inventory.SaveInventory.toBase64(SaveInventory.java:173) ~[InventoryRollbackPlus-1.6.17.jar:?] at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.data.YAML.setMainInventory(YAML.java:220) ~[InventoryRollbackPlus-1.6.17.jar:?] at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.data.PlayerData.setMainInventory(PlayerData.java:145) ~[InventoryRollbackPlus-1.6.17.jar:?] at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.inventory.SaveInventory.lambda$createSave$1(SaveInventory.java:115) ~[InventoryRollbackPlus-1.6.17.jar:?] at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:86) ~[purpur-1.21.jar:1.21-2278-b3623fa] at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[purpur-1.21.jar:1.21-2278-b3623fa] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[purpur-1.21.jar:?] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.NullPointerException: null value in entry: using-converts-to=null at com.google.common.collect.CollectPreconditions.checkEntryNotNull(CollectPreconditions.java:33) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMapEntry.(ImmutableMapEntry.java:54) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap.entryOf(ImmutableMap.java:341) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:450) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.put(ImmutableMap.java:465) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.putAll(ImmutableMap.java:494) ~[guava-32.1.2-jre.jar:?] at com.google.common.collect.ImmutableMap$Builder.putAll(ImmutableMap.java:477) ~[guava-32.1.2-jre.jar:?] at org.bukkit.util.io.Wrapper.newWrapper(Wrapper.java:16) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at org.bukkit.util.io.BukkitObjectOutputStream.replaceObject(BukkitObjectOutputStream.java:48) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1160) ~[?:?] at java.base/java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1394) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1190) ~[?:?] at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585) ~[?:?] at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542) ~[?:?] at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194) ~[?:?] at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585) ~[?:?] at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542) ~[?:?] at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194) ~[?:?] at java.base/java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1394) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1190) ~[?:?] at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585) ~[?:?] at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542) ~[?:?] at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194) ~[?:?] at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1585) ~[?:?] at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1542) ~[?:?] at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1451) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1194) ~[?:?] at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:358) ~[?:?] at InventoryRollbackPlus-1.6.17.jar/me.danjono.inventoryrollback.inventory.SaveInventory.toBase64(SaveInventory.java:167) ~[InventoryRollbackPlus-1.6.17.jar:?] ... 9 more

BadAreBones commented 1 day ago

I'm having the same issue! Please try and fix it it broke the plugin and spams console :(

TechnicallyCoded commented 1 day ago

Please try and read the above issue before posting. Not an issue with the plugin, not fixable on my part. You can also provide additional information such as the your server version (screenshot /version) and IRP version (/irp version) such as to make helping you possible..