Tooltip Hook error in crafting window
SkrybeGH opened this issue ยท 9 comments
Brief Description of Bug
When crafting items I get repeated errors that are apparently caused by the Auctionator tooltip hook. The error first occurs when crafting. It then continues to occur (different error message) in other scenarios where tooltips are called. For example: I can craft something and get the error, then everytime I try to send out a mission at the Covenant mission table it throws another error. Also affects the Garrison Mission table. If I don't get the initial error (ie: don't craft anything) I never get the mission table error.
Steps to Reproduce
- Open the crafting UI
- Click the search box
- Shift click an item in my bag (in this case Hexweave Cloth but it's happened with different items), this filters to related recipes
- Craft an item (in this case Hexweave Cloth) and an error is thrown.
Subsequent interaction with other windows that use tooltips regularly throw another error after this initial error.
- Get error as described above.
- Click covenant mission table.
- Choose followers and send mission
- Throws error.
Loaded Addons
Accountant
Advanced Interface Options *
Angry Keystones
Ara Broker Reputations
Astral Keys
Auctionator *
Bagnon *
Bagnon Item Info *
Basic Chat Mods
Bazooka
Broker All XP
BugGrabber *
BugSack *
Decursive
Deja Character Stats
Details
Follower Missions Timer
HandyNotes
HandyNotes Shadowlands Treasures
Improved Loot Frame
Journalator *
Mapster
MasterPlan
Minimap Button Button *
Pawn
Protoform Synthesis Journal
SavedInstances
SilverDragon
Simple Addon Manager *
TinyPad
TomTom
VenturePlan
Weakauras
World Quest Tracker
Wowdle
I have tried with almost all the addons disabled (everything but the ones marked with * ) and the error still happens.
Back Trace (LUA Error Output)
Initial error from crafting:
13x ...terface/AddOns/Auctionator/Source/Tooltips/Hooks.lua:75: attempt to index local 'slot' (a nil value)
[string "@Interface/AddOns/Auctionator/Source/Tooltips/Hooks.lua"]:75: in function <...terface/AddOns/Auctionator/Source/Tooltips/Hooks.lua:69>
[string "=[C]"]: ?
[string "=[C]"]: in function `SetRecipeReagentItem'
[string "@Interface/AddOns/Blizzard_ProfessionsTemplates/Blizzard_ProfessionsRecipeSchematicForm.lua"]:719: in function <...emplates/Blizzard_ProfessionsRecipeSchematicForm.lua:713>
Locals:
tip = GameTooltip {
0 =
textLeft1Font = "GameTooltipHeaderText"
ItemTooltip = Frame {
}
SetHyperlink = defined =[C]:-1
SetGuildBankItem = defined =[C]:-1
updateTooltipTimer = 0.067000
SetVoidDepositItem = defined =[C]:-1
SetVoidWithdrawalItem = defined =[C]:-1
TextRight1 = GameTooltipTextRight1 {
}
comparing = false
SetSocketGem = defined =[C]:-1
TopOverlay = Texture {
}
hasMoney = 1
SetItemByID = defined =[C]:-1
SetLootItem = defined =[C]:-1
SetQuestItem = defined =[C]:-1
__tamedCounts = false
waitingForData = false
SetTrainerService = defined =[C]:-1
numMoneyFrames = 1
SetTradeTargetItem = defined =[C]:-1
Hide = defined =[C]:-1
SetRecipeReagentItem = defined =[C]:-1
SetBuybackItem = defined =[C]:-1
shoppingTooltips =
}
SetWeeklyReward = defined =[C]:-1
SetMerchantItem = defined =[C]:-1
SetQuestLogItem = defined =[C]:-1
SetVoidItem = defined =[C]:-1
BottomOverlay = Texture {
}
SetHeirloomByItemID = defined =[C]:-1
SetTradePlayerItem = defined =[C]:-1
textRight1Font = "GameTooltipHeaderText"
SetSendMailItem = defined =[C]:-1
SetExistingSocketGem = defined =[C]:-1
NineSlice = Frame {
}
textLeft2Font = "GameTooltipText"
SetItemKey = defined =[C]:-1
TextRight2 = GameTooltipTextRight2 {
}
TextLeft2 = GameTooltipTextLeft2 {
}
SetLootRollItem = defined =[C]:-1
SetInboxItem = defined =[C]:-1
SetBagItem = defined =[C]:-1
needsReset = true
layoutType = "TooltipDefaultLayout"
TextLeft1 = GameTooltipTextLeft1 {
}
textRight2Font = "GameTooltipText"
SetInventoryItem = defined =[C]:-1
}
recipeID = 168835
slotID = 4
itemLink = "|cffffffff|Hitem:109126::::::::60:267:::::::::|h[Gorgrond Flytrap]|h|r"
schematic =
outputItemID = 111556
hasCraftingOperationInfo = false
quantityMax = 1
quantityMin = 1
recipeID = 168835
recipeType = 1
name = "Hexweave Cloth"
hasGatheringOperationInfo = false
reagentSlotSchematics =
}
isRecraft = false
icon = 0
}
slot = nil
(*temporary) = 168835
(*temporary) = false
(*temporary) = nil
(*temporary) =
outputItemID = 111556
hasCraftingOperationInfo = false
quantityMax = 1
quantityMin = 1
recipeID = 168835
recipeType = 1
name = "Hexweave Cloth"
hasGatheringOperationInfo = false
reagentSlotSchematics =
}
isRecraft = false
icon = 0
}
(*temporary) = false
(*temporary) = "attempt to index local 'slot' (a nil value)"
Subsequent error at mission table (this was garrison table not covenant):
84x ...rofessions/Blizzard_ProfessionsCraftingOutputLog.lua:242: attempt to compare number with nil
[string "@Interface/AddOns/Blizzard_Professions/Blizzard_ProfessionsCraftingOutputLog.lua"]:242: in function elementExtentCalculator' [string "@Interface/SharedXML/Scroll/ScrollBoxListView.lua"]:403: in function
CalculateFrameExtent'
[string "@Interface/SharedXML/Scroll/ScrollBoxListView.lua"]:543: in function CalculateExtents' [string "@Interface/SharedXML/Scroll/ScrollBoxListView.lua"]:572: in function <Interface/SharedXML/Scroll/ScrollBoxListView.lua:538> [string "=(tail call)"]: ? [string "=(tail call)"]: ? [string "@Interface/SharedXML/Scroll/ScrollBox.lua"]:145: in function
FullUpdateInternal'
[string "@Interface/SharedXML/Scroll/ScrollBox.lua"]:631: in function FullUpdateInternal' [string "@Interface/SharedXML/Scroll/ScrollBox.lua"]:113: in function
FullUpdate'
[string "@Interface/SharedXML/Scroll/ScrollBox.lua"]:605: in function <Interface/SharedXML/Scroll/ScrollBox.lua:604>
[string "=[C]"]: ?
[string "@Interface/SharedXML/CallbackRegistry.lua"]:143: in function <Interface/SharedXML/CallbackRegistry.lua:142>
...
[string "@Interface/SharedXML/Scroll/ScrollBoxListView.lua"]:211: in function <Interface/SharedXML/Scroll/ScrollBoxListView.lua:208>
[string "=[C]"]: ?
[string "@Interface/SharedXML/CallbackRegistry.lua"]:143: in function <Interface/SharedXML/CallbackRegistry.lua:142>
[string "=[C]"]: ?
[string "@Interface/SharedXML/CallbackRegistry.lua"]:146: in function TriggerEvent' [string "@Interface/SharedXML/DataProvider.lua"]:48: in function
Insert'
[string "@Interface/SharedXML/Scroll/ScrollBoxListView.lua"]:138: in function InsertElementData' [string "@Interface/SharedXML/Scroll/ScrollBox.lua"]:536: in function
InsertElementData'
[string "@Interface/AddOns/Blizzard_Professions/Blizzard_ProfessionsCraftingOutputLog.lua"]:330: in function `FinalizePendingResultData'
[string "@Interface/AddOns/Blizzard_Professions/Blizzard_ProfessionsCraftingOutputLog.lua"]:292: in function <...rofessions/Blizzard_ProfessionsCraftingOutputLog.lua:288>
Locals:
dataIndex = 1
resultData =
bonusData =
}
quantity = 2258
currencyID = 1813
}
height = 46
rows = 0
(*temporary) = nil
(*temporary) = "attempt to compare number with nil"
ElementBonusRowHeight = 31
The original error was from bad information being fed into the Auctionator function, so may be another add-on or Blizzard
Ok, I just tried on my priest with both Auctionator and Journalator turned off. And the Garrison mission table throws that same error after crafting. So that error must be from something else. Maybe even a Blizzard error. Thanks for the prompt work.
Forgot to note down the version: 10.0.7-5-gbeab877
It's also happened in every version I've used since DragonFlight pre-patch.
Added a workaround to prevent the error happening again.
Available on Curseforge after it finishes processing, or here:
Auctionator-10.0.7-6-gf88ae56.zip
Can you report back as to whether it works?
Just tried on my druid, crafted Burnished leather without an error. But it threw the "Blizzard_ProfessionsCraftingOutputLog.lua:242: attempt to compare number with nil" one when I went to the Garrison missions. It threw the same error again when I tried doing the Shadowlands "Stones to Ore" transmute. But it didn't throw any errors at the Covenant mission table. I'll do a similar test on an alt with auctionator turned off. Maybe the second error is coming from elsewhere.
Dang, looks like the error has cropped up again.
This was at draenor garrison. Clicked on a jewel crafter NPC in the Gem Boutique. Looked at their recipes, clicked on one to see ingredients and it threw the error. Didn't even try to make the item and hadn't crafted anything else, or looked at the player crafting UI.
Tailoring NPC in garrison doesn't have the same error when examining their recipes. Blacksmithing also seemed to be fine. Engineering works ok too. And last one I've checked Enchanting seems ok too.
1x ...terface/AddOns/Auctionator/Source/Tooltips/Hooks.lua:79: attempt to index local 'slot' (a nil value)
[string "@Interface/AddOns/Auctionator/Source/Tooltips/Hooks.lua"]:79: in function <...terface/AddOns/Auctionator/Source/Tooltips/Hooks.lua:69>
[string "=[C]"]: ?
[string "=[C]"]: in function `SetRecipeReagentItem'
[string "@Interface/AddOns/Blizzard_ProfessionsTemplates/Blizzard_ProfessionsRecipeSchematicForm.lua"]:719: in function <...emplates/Blizzard_ProfessionsRecipeSchematicForm.lua:713>
Locals:
tip = GameTooltip {
0 =
SetCurrencyByID = defined =[C]:-1
textLeft1Font = "GameTooltipHeaderText"
ItemTooltip = Frame {
}
SetHyperlink = defined =[C]:-1
SetGuildBankItem = defined =[C]:-1
updateTooltipTimer = 0.100000
SetVoidDepositItem = defined =[C]:-1
SetVoidWithdrawalItem = defined =[C]:-1
TextRight1 = GameTooltipTextRight1 {
}
comparing = false
SetSocketGem = defined =[C]:-1
SetCurrencyToken = defined =[C]:-1
TopOverlay = Texture {
}
SetCurrencyTokenByID = defined =[C]:-1
hasMoney = 1
SetItemByID = defined =[C]:-1
SetLootItem = defined =[C]:-1
SetQuestItem = defined =[C]:-1
__tamedCounts = false
waitingForData = false
SetTrainerService = defined =[C]:-1
numMoneyFrames = 1
SetTradeTargetItem = defined =[C]:-1
Hide = defined =[C]:-1
SetRecipeReagentItem = defined =[C]:-1
SetBuybackItem = defined =[C]:-1
shoppingTooltips =
}
SetWeeklyReward = defined =[C]:-1
SetMerchantItem = defined =[C]:-1
SetQuestLogItem = defined =[C]:-1
SetVoidItem = defined =[C]:-1
BottomOverlay = Texture {
}
SetHeirloomByItemID = defined =[C]:-1
SetTradePlayerItem = defined =[C]:-1
textRight1Font = "GameTooltipHeaderText"
SetSendMailItem = defined =[C]:-1
SetExistingSocketGem = defined =[C]:-1
NineSlice = Frame {
}
textLeft2Font = "GameTooltipText"
SetItemKey = defined =[C]:-1
TextRight2 = GameTooltipTextRight2 {
}
TextLeft2 = GameTooltipTextLeft2 {
}
SetLootRollItem = defined =[C]:-1
SetInboxItem = defined =[C]:-1
SetBagItem = defined =[C]:-1
needsReset = true
layoutType = "TooltipDefaultLayout"
TextLeft1 = GameTooltipTextLeft1 {
}
textRight2Font = "GameTooltipText"
SetInventoryItem = defined =[C]:-1
}
recipeID = 170715
slotID = 5
itemLink = "|cffffffff|Hitem:109119::::::::60:253:::::::::|h[True Iron Ore]|h|r"
schematic =
outputItemID = 115798
hasCraftingOperationInfo = false
quantityMax = 1
quantityMin = 1
recipeID = 170715
recipeType = 1
name = "Whispering Taladite Ring"
hasGatheringOperationInfo = false
reagentSlotSchematics =
}
isRecraft = false
icon = 0
}
slot = nil
(*temporary) = 170715
(*temporary) = false
(*temporary) = nil
(*temporary) =
outputItemID = 115798
hasCraftingOperationInfo = false
quantityMax = 1
quantityMin = 1
recipeID = 170715
recipeType = 1
name = "Whispering Taladite Ring"
hasGatheringOperationInfo = false
reagentSlotSchematics =
}
isRecraft = false
icon = 0
}
(*temporary) = false
(*temporary) = "attempt to index local 'slot' (a nil value)"
I think that resolved it. Just tested with my hunter in the garrison and no more jewelcrafting NPC error.
Added a new fix https://www.curseforge.com/wow/addons/auctionator/files/4073881