[SPIGOT-2858] StackOverflow upon shift clicking an item into a custom inventory Created: 29/Nov/16 Updated: 26/Feb/17 Resolved: 29/Nov/16 |
|
| Status: | Closed |
| Project: | Spigot |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | Anonymous Chicken | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | Inventory | ||
| Environment: |
Java 8, Arch Linux |
||
| Issue Links: |
|
||||||||
| Plugin: | N/A | ||||||||
| Description |
|
This has been reported in the past, but I couldn't find a way to move it back to the top, and it was never assigned to anyone. When you create a custom inventory (of I assume to be just about any type, although I've only tested workbench, dropper, and dispenser) and a player shift clicks an item into it, a StackOverflowError is thrown.
Caused by: java.lang.StackOverflowError at java.util.HashMap.putVal(HashMap.java:628) ~[?:1.8.0_112] at java.util.HashMap.put(HashMap.java:611) ~[?:1.8.0_112] at net.minecraft.server.v1_11_R1.NBTTagCompound.setString(SourceFile:134) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.ItemStack.save(ItemStack.java:282) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.ItemStack.<init>(ItemStack.java:66) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.ItemStack.cloneItemStack(ItemStack.java:444) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:252) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:254) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] at net.minecraft.server.v1_11_R1.Container.a(Container.java:430) ~[spigot-1.11.jar:git-Spigot-f950f8e-c91ca4a] The last 2 lines seem to recursively call each other, causing the error. The server doesn't crash, but any plugins handling the custom inventory seem to stop being able to do anything do it. |
| Comments |
| Comment by Anonymous Chicken [ 29/Nov/16 ] |
|
What you should do is cancel the event and print a warning in console, or something along those lines. |
| Comment by md_5 [ 29/Nov/16 ] |
|
This is one of those issues that is essentially impossible to fix. |
| Comment by Anonymous Chicken [ 29/Nov/16 ] |
|
Well, the idea was to get it noticed, I couldn't find a way to bump that one |
| Comment by Black Hole [ 29/Nov/16 ] |
|
Creating duplicates won't get an issue fixed any sooner. |
| Comment by Anonymous Chicken [ 29/Nov/16 ] |
|
I know it's duplicate, and pointed it out in the description, but that issue has no assignee and hasn't been fixed. |
| Comment by Black Hole [ 29/Nov/16 ] |