raethkcj / RatingBuster

An item comparison tool for WoW Classic.
GNU General Public License v2.0
57 stars 14 forks source link

[Bug]: Something broke the addon, 2 LUA errors, FPS drop on opening item tooltip #118

Closed Mard35 closed 1 year ago

Mard35 commented 1 year ago

Describe the bug

Addon just stoped working, i'm getting LUA errors and huge FPS drop when trying to hover cursor on any item 1st ERROR:

5x StatLogic\StatLogic-78899.lua:1339: attempt to index field '?' (a nil value)
[string "@StatLogic\StatLogic-78899.lua"]:1339: in function `GetOrderedTalentInfo'
[string "@RatingBuster\RatingBuster-1.6.1.nil.lua"]:1352: in function <RatingBuster\RatingBuster.lua:1336>

Locals:
self = <table> {
 GetRAPFromAgi = <function> defined @StatLogic\StatLogic.lua:1827
 GetReductionFromArmor = <function> defined @StatLogic\StatLogic.lua:1416
 GetSum = <function> defined @StatLogic\StatLogic.lua:2319
 argCheck = <function> defined @StatLogic\StatLogic.lua:77
 GetDodgeChanceBeforeDR = <function> defined @StatLogic\Wrath_Logic.lua:3642
 GetRAPPerAgi = <function> defined @StatLogic\StatLogic.lua:1788
 GetStatMod = <function> defined @StatLogic\StatLogic.lua:1382
 tip = StatLogicTooltip {
 }
 GetFinalArmor = <function> defined @StatLogic\StatLogic.lua:2763
 GetClassIdOrName = <function> defined @StatLogic\StatLogic.lua:389
 GetRatingIdOrName = <function> defined @StatLogic\StatLogic.lua:501
 GetStatNameFromID = <function> defined @StatLogic\StatLogic.lua:393
 StatModInfo = <table> {
 }
 GetAvoidanceGainAfterDR = <function> defined @StatLogic\Wrath_Logic.lua:3800
 GetAvoidanceAfterDR = <function> defined @StatLogic\Wrath_Logic.lua:3761
 RemoveEnchant = <function> defined @StatLogic\StatLogic.lua:2090
 GetBlockValuePerStr = <function> defined @StatLogic\StatLogic.lua:1630
 GetParryChanceBeforeDR = <function> defined @StatLogic\Wrath_Logic.lua:3687
 BuildGemmedTooltip = <function> defined @StatLogic\StatLogic.lua:2133
 GetAPFromAgi = <function> defined @StatLogic\StatLogic.lua:1750
 GetSpellCritFromInt = <function> defined @StatLogic\StatLogic.lua:2011
 GetDiff = <function> defined @StatLogic\StatLogic.lua:3015
 GetAPPerAgi = <function> defined @StatLogic\StatLogic.lua:1708
 StatModTable = <table> {
 }
 GetHealthRegenFromSpi = <function> defined @StatLogic\StatLogic.lua:2070
 GetEffectFromRating = <function> defined @StatLogic\StatLogic.lua:1505
 StatTable = <table> {
 }
 GetNormalManaRegenFromSpi = <function> defined @StatLogic\Wrath_Logic.lua:167
 GetBlockValueFromStr = <function> defined @StatLogic\StatLogic.lua:1669
 PatternTest = <function> defined @StatLogic\StatLogic.lua:3131
 Bench = <function> defined @StatLogic\StatLogic.lua:3111
 GenericStatMap = <table> {
 }
 GetGemID = <function> defined @StatLogic\StatLogic.lua:2223
 GetAPPerStr = <function> defined @StatLogic\StatLogic.lua:1551
 GetDodgePerAgi = <function> defined @StatLogic\StatLogic.lua:1896
 tipMiner = StatLogicMinerTooltip {
 }
 GetEffectFromDefense = <function> defined @StatLogic\StatLogic.lua:1443
 GetMissedChanceBeforeDR = <function> defined @StatLogic\Wrath_Logic.lua:3611
 RemoveGem = <function> defined @StatLogic\StatLogic.lua:2094
 GetOrderedTalentInfo = <function> defined @StatLogic\StatLogic.lua:1338
 GetAPFromStr = <function> defined @StatLogic\StatLogic.lua:1587
 RatingExists = <function> defined @StatLogic\StatLogic.lua:1456
 GetDodgeFromAgi = <function> defined @StatLogic\StatLogic.lua:1926
 GetCritFromAgi = <function> defined @StatLogic\StatLogic.lua:1962
 GetBaseDodge = <function> defined @StatLogic\StatLogic.lua:1864
 GetDiffID = <function> defined @StatLogic\StatLogic.lua:2882
}
tab = 2
num = 1
(*temporary) = <function> defined =[C]:-1
(*temporary) = 2
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
GetTalentInfo = <function> defined =[C]:-1
orderedTalentCache = <table> {
}

2nd ERROR:

2437x RatingBuster\RatingBuster-1.6.1.nil.lua:1551: attempt to index global 'globalDB' (a nil value)
[string "@RatingBuster\RatingBuster-1.6.1.nil.lua"]:1551: in function `handler'
[string "@RatingBuster\libs\TipHooker-1.0\TipHooker-1.0-67029.lua"]:156: in function <...ns\RatingBuster\libs\TipHooker-1.0\TipHooker-1.0.lua:150>
[string "=[C]"]: ?
[string "@SellPricePerUnit\main.lua"]:262: in function <SellPricePerUnit\main.lua:260>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `SetAction'
[string "@Bartender4\libs\LibActionButton-1.0\LibActionButton-1.0-100.lua"]:1821: in function `SetTooltip'
[string "@Bartender4\libs\LibActionButton-1.0\LibActionButton-1.0-100.lua"]:1524: in function <...er4\libs\LibActionButton-1.0\LibActionButton-1.0.lua:1517>
[string "@Bartender4\libs\LibActionButton-1.0\LibActionButton-1.0-100.lua"]:634: in function <...er4\libs\LibActionButton-1.0\LibActionButton-1.0.lua:632>

Locals:
tooltip = GameTooltip {
 0 = <userdata>
 GetBackdropColor = <function> defined @SharedXML\SharedTooltipTemplates.lua:191
 SetHyperlink = <function> defined =[C]:-1
 SetTradeSkillItem = <function> defined =[C]:-1
 hasMoney = 1
 SetBackdropBorderColor = <function> defined @SharedXML\SharedTooltipTemplates.lua:195
 SetCraftItem = <function> defined =[C]:-1
 comparing = false
 TopOverlay = <unnamed> {
 }
 GetBackdropBorderColor = <function> defined @SharedXML\SharedTooltipTemplates.lua:199
 default = 1
 SetUnitDebuff = <function> defined =[C]:-1
 SetItemByID = <function> defined =[C]:-1
 SetLootItem = <function> defined =[C]:-1
 SetQuestItem = <function> defined =[C]:-1
 SetBorderBlendMode = <function> defined @SharedXML\SharedTooltipTemplates.lua:203
 FadeOut = <function> defined @TipTac\ttCore.lua:866
 numMoneyFrames = 1
 shownMoneyFrames = 1
 SetGuildBankItem = <function> defined =[C]:-1
 SetInboxItem = <function> defined =[C]:-1
 SetBuybackItem = <function> defined =[C]:-1
 shoppingTooltips = <table> {
 }
 SetMerchantItem = <function> defined =[C]:-1
 SetQuestLogItem = <function> defined =[C]:-1
 BottomOverlay = <unnamed> {
 }
 NineSlice = <unnamed> {
 }
 SetTradePlayerItem = <function> defined =[C]:-1
 SetIconTextureAndText = <function> defined @TipTacItemRef\ttItemRef.lua:62
 SetSendMailItem = <function> defined =[C]:-1
 ttIcon = <unnamed> {
 }
 updateTooltip = 0.170000
 SetInventoryItem = <function> defined =[C]:-1
 SetUnitBuff = <function> defined =[C]:-1
 ttCount = <unnamed> {
 }
 TooltipBackdropOnLoad = <function> defined @SharedXML\SharedTooltipTemplates.lua:172
 SetUnitAura = <function> defined =[C]:-1
 SetTradeTargetItem = <function> defined =[C]:-1
 layoutType = "TooltipDefaultLayout"
 SetBagItem = <function> defined =[C]:-1
 needsReset = true
 SetLootRollItem = <function> defined =[C]:-1
 SetBackdropColor = <function> defined @SharedXML\SharedTooltipTemplates.lua:187
 GetItem = <function> defined =[C]:-1
 SetAuctionItem = <function> defined =[C]:-1
}
name = ""
link = "|cffffffff|Hitem:40093::::::::80:::::::::|h[Зелье несокрушимости]|h|r"
itemType = 0
isRecipe = false
(*temporary) = nil
(*temporary) = "Расход. предметы"
(*temporary) = "Зелья"
(*temporary) = ""
(*temporary) = 236874
(*temporary) = 0
(*temporary) = 1
(*temporary) = 0
(*temporary) = 1
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index global 'globalDB' (a nil value)"
select = <function> defined =[C]:-1
calcLevel = nil
playerLevel = 80
GetItemInfo = <function> defined @RatingBuster\RatingBuster.lua:81
profileDB = nil
StatLogic = <table> {
 GetRAPFromAgi = <function> defined @StatLogic\StatLogic.lua:1827
 GetReductionFromArmor = <function> defined @StatLogic\StatLogic.lua:1416
 GetSum = <function> defined @StatLogic\StatLogic.lua:2319
 argCheck = <function> defined @StatLogic\StatLogic.lua:77
 GetDodgeChanceBeforeDR = <function> defined @StatLogic\Wrath_Logic.lua:3642
 GetRAPPerAgi = <function> defined @StatLogic\StatLogic.lua:1788
 GetStatMod = <function> defined @StatLogic\StatLogic.lua:1382
 tip = StatLogicTooltip {
 }
 GetFinalArmor = <function> defined @StatLogic\StatLogic.lua:2763
 GetClassIdOrName = <function> defined @StatLogic\StatLogic.lua:389
 GetRatingIdOrName = <function> defined @StatLogic\StatLogic.lua:501
 GetStatNameFromID = <function> defined @StatLogic\StatLogic.lua:393
 StatModInfo = <table> {
 }
 GetAvoidanceGainAfterDR = <function> defined @StatLogic\Wrath_Logic.lua:3800
 GetAvoidanceAfterDR = <function> defined @StatLogic\Wrath_Logic.lua:3761
 RemoveEnchant = <function> defined @StatLogic\StatLogic.lua:2090
 GetBlockValuePerStr = <fu

Addon Source

GitHub Releases

Version

1.6.1

Locale

Russian

Talent Specialization

Protection Warrior

Race

Undead

Epsynus commented 1 year ago

Started yesterday for me.

Same errors, using version 1.6.2 English locale Race & class: Undead Discipline Priest

WOTLK Classic

raethkcj commented 1 year ago

I can't reproduce this myself, and fixing it is a bit delicate. I published an alpha version with a potential fix: https://github.com/raethkcj/RatingBuster/releases/tag/1.6.2.alpha.1

I'd appreciate if either of you could test it and let me know if this fixes the issue, and whether the options menu (/rb) still works afterwards. Note that this alpha version contains a couple of print messages in the format 62468.757 StatLogic:. I'd like to see the output of these regardless of whether the fix works or not.

raethkcj commented 1 year ago

I got feedback from another user, and this appears to be working other than a minor bug solved after the alpha. Should be fixed in regular release 1.6.3, let me know if not.