-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
This server is running CraftBukkit version dev-Spigot-5a6439b-8ee6fd1 (MC: 1.21.1) (Implementing API version 1.21.1-R0.1-SNAPSHOT)
-
Yes
Minecraft allows nesting bundles inside bundles up to 16 items deep. When a plugin tries to serialize this item, it is easy to reach SnakeYaml's default 50 max nesting limit.
Example data:
'1' recipes: '1': resultItem: ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE meta: ==: ItemMeta meta-type: BUNDLE items: - ==: org.bukkit.inventory.ItemStack v: 3955 type: BUNDLE
Each bundle nesting results in 3 levels of nesting inside the Yaml (2 mappings and one sequence node). With some additional nesting up front and inside the final bundle item, it is very easy to reach the default 50 nesting limit.
Would it be possible to slightly increase the default limit in the YamlConfiguration's Yaml LoadOptions, maybe to something in the range of 64-100?