Selling to a wildcard ChestShop sign on staging showed an internal error. The live log at 2026-10-24 14:55:13 UTC records IllegalArgumentException: Slot already occupied: 22 in MenuView.Builder.slot → ShopVariantsMenu.choices:38 → PlayerInteractListener.onInteract:242.
Affected build: chestshop-2026.10.49.1-dev-g63a3c8f29e9c.jar, HE commit 63a3c8f29e9c71603e72def6e0880c1682d24cbf, Paper 26.3 build 206; deployed after PR #101.
ShopVariantsMenu.choices always reserves content slots 0–44, even for an empty variants list. Its empty branch then adds the empty-state barrier at fixed slot 22. Inspection of the actual installed MenuView.Builder bytecode confirms content() reserves the whole range even with zero items, and slot() rejects any reserved content slot. Therefore the intended empty-state screen deterministically throws.
ShopVariantsService.choices searches the player's inventory for selling and the connected shop inventory for buying. The observed stack reached the empty-list branch. Why this particular player's items produced no variants was not independently established; do not assume the matcher is correct or broken from this exception alone.
Evidence: live stack and exact deployed source inspected; framework behavior checked in installed jar. No fix, reproduction transaction, DB mutation or additional deployment performed.
Related feature: PAR-507. Source: ShopVariantsMenu at deployed commit, ShopVariantsService.