BetterBags

BetterBags

1M Downloads

Binding module error. Unknown bindType:1

TotalHamman opened this issue ยท 7 comments

commented

Addon Version

0.1.92

World of Warcraft Version

Retail

Describe the bug

LUA Error presents immediately when loading the world. Bags also appear empty when inventory is opened. 

BetterBags Empty

It appears that if you have an item that has changed types but not updated its' metadata, it is possible to have an item with a "Binds when picked up" type present within inventory.

1 OnAcquire Bind on Pickup

The specific Item in question within my inventory is Schematic: Bundle of Fireworks (https://www.wowhead.com/item=199232/schematic-bundle-of-fireworks).

BetterBags BoP Item

Temporarily resolved the issue by adding the following lines within the bindType if statements.

elseif (bindType == 1) then
  bindinginfo.binding = const.BINDING_SCOPE.BOP 

Error Message:

Message: Interface/AddOns/BetterBags/data/binding.lua:61: Binding module error. Unknown bindType:1 bag:3 slot:27
Time: Wed Aug 14 01:58:27 2024
Count: 1
Stack: Interface/AddOns/BetterBags/data/binding.lua:61: Binding module error. Unknown bindType:1 bag:3 slot:27
[string "@Interface/AddOns/Blizzard_SharedXMLBase/ErrorUtil.lua"]:3: in function <...nterface/AddOns/Blizzard_SharedXMLBase/ErrorUtil.lua:1>
[string "=[C]"]: in function `assert'
[string "@Interface/AddOns/BetterBags/data/binding.lua"]:61: in function `GetItemBinding'
[string "@Interface/AddOns/BetterBags/data/items.lua"]:842: in function `AttachItemInfo'
[string "@Interface/AddOns/BetterBags/data/loader.lua"]:72: in function <Interface/AddOns/BetterBags/data/loader.lua:67>
[string "=[C]"]: in function `xpcall'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:76: in function `FireCallbacks'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:35: in function <.../Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua:31>
[string "=[C]"]: ?
[string "=[C]"]: in function `accessor'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:52: in function `AddCallback'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/Item.lua"]:332: in function `ContinueOnItemLoad'
...
[string "@Interface/AddOns/Blizzard_UIParent/Mainline/UIParent.lua"]:422: in function `UIParentLoadAddOn'
[string "@Interface/AddOns/Blizzard_UIParent/Mainline/UIParent.lua"]:627: in function `MajorFactions_LoadUI'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:103: in function `SetUpMajorFactionList'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:96: in function `RefreshMajorFactionList'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:91: in function `RefreshOverlay'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:83: in function <...sionLandingPage/Blizzard_DragonflightLandingPage.lua:79>
[string "=[C]"]: in function `CreateFrame'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:49: in function `CreateOverlay'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:78: in function `RefreshExpansionOverlay'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:37: in function <...pansionLandingPage/Blizzard_ExpansionLandingPage.lua:35>

Locals: 

Steps to reproduce

Have item present in inventory with "Binds on pickup up" bindType.

commented

Very interesting find! I'm looking at this.
I'll note that the Schematic itself is non-binding, but creates a binding item when crafted.

commented

could it have been a different item?
That one is working for me just fine

image

If you have a chance, re-edit binding.lua, take out your elseif and change the last lines of the file to this:

  end -- isBound
  local itemID = C_Item.GetItemID(itemLocation)
  assert(bindinginfo.binding ~= const.BINDING_SCOPE.UNKNOWN, (format("Binding module error. Unknown bindType:%s itemID: %s bag:%s slot:%s", bindType, itemID, itemLocation:GetBagAndSlot())))
  return bindinginfo
end

This will help us track down the actual rogue item

commented

Well this is interesting, I am very curious how this item has that bindType internally considering it has "Binds when equipped" in tooltip.

image

Message: Interface/AddOns/BetterBags/data/binding.lua:62: Binding module error. Unknown bindType:1 itemID: 205229 bag:3 slot:30
Time: Wed Aug 14 04:43:46 2024
Count: 1
Stack: Interface/AddOns/BetterBags/data/binding.lua:62: Binding module error. Unknown bindType:1 itemID: 205229 bag:3 slot:30
[string "@Interface/AddOns/Blizzard_SharedXMLBase/ErrorUtil.lua"]:3: in function <...nterface/AddOns/Blizzard_SharedXMLBase/ErrorUtil.lua:1>
[string "=[C]"]: in function `assert'
[string "@Interface/AddOns/BetterBags/data/binding.lua"]:62: in function `GetItemBinding'
[string "@Interface/AddOns/BetterBags/data/items.lua"]:842: in function `AttachItemInfo'
[string "@Interface/AddOns/BetterBags/data/loader.lua"]:72: in function <Interface/AddOns/BetterBags/data/loader.lua:67>
[string "=[C]"]: in function `xpcall'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:76: in function `FireCallbacks'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:35: in function <.../Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua:31>
[string "=[C]"]: ?
[string "=[C]"]: in function `accessor'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/AsyncCallbackSystem.lua"]:52: in function `AddCallback'
[string "@Interface/AddOns/Blizzard_ObjectAPI/Mainline/Item.lua"]:332: in function `ContinueOnItemLoad'
...
[string "@Interface/AddOns/Blizzard_UIParent/Mainline/UIParent.lua"]:422: in function `UIParentLoadAddOn'
[string "@Interface/AddOns/Blizzard_UIParent/Mainline/UIParent.lua"]:627: in function `MajorFactions_LoadUI'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:103: in function `SetUpMajorFactionList'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:96: in function `RefreshMajorFactionList'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:91: in function `RefreshOverlay'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:83: in function <...sionLandingPage/Blizzard_DragonflightLandingPage.lua:79>
[string "=[C]"]: in function `CreateFrame'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:49: in function `CreateOverlay'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:78: in function `RefreshExpansionOverlay'
[string "@Interface/AddOns/Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:37: in function <...pansionLandingPage/Blizzard_ExpansionLandingPage.lua:35>

Locals: 
commented

Well this is interesting, I am very curious how this item has that bindType internally considering it has "Binds when equipped" in tooltip.

Congratulations, you found a 'broken' item. :D

It appears that the item was BoE in Season 3, but changed to BoP in Season 4. I was able to find one on the Auction House. You can see both BoE and BoP tooltips

The immediate fix would be to equip it to bind it or put it in the mail without BetterBags loaded for now - or drop your elseif back in. I'll have a patch ready for Cidan in the morning.

Thanks a bunch for reporting the error

image
image

commented

Thanks a bunch for reporting the error

You are quite welcome! I was going through and fixing all of the API changes in my addons list when I found this error and it piqued my curiosity. I put my elseif back in place immediately so I could continue playing but will be sure to update once the new version is pushed to confirm resolved.

commented

PR #581 will fix this

commented

resolved as of BetterBags v0.1.96