Just started getting this error today
davidcraig opened this issue ยท 14 comments
This is the error taken from my !BugGrabber addon, it's coming up thousands of times and causing me the performance warning in chat:
{ ["message"] = "Interface\\AddOns\\GatherLite\\events.lua:41: attempt to perform arithmetic on local 'elapsed' (a table value)", ["time"] = "2019/08/31 12:43:57", ["locals"] = "elapsed = <unnamed> {\n 0 = <userdata>\n DoHooks = <function> defined @Interface\\AddOns\\SniperTips\\lib.lua:166\n OnApplyConfig = <function> defined @Interface\\AddOns\\SniperTips\\lib.lua:179\n}\n(*temporary) = <table> {\n spellIDs = <table> {\n }\n drawWorldmap = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:286\n findSpell = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:63\n updateMiniMapPosition = <function> defined @Interface\\AddOns\\GatherLite\\settings.lua:280\n tablelength = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:20\n createWorldmapNode = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:443\n debug = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:13\n tooltip = GatherLiteTooltip {\n }\n RegisterCallback = <function> defined @Interface\\AddOns\\Masque\\Libs\\CallbackHandler-1.0\\CallbackHandler-1.0.lua:90\n gatherSpellRanges = <table> {\n }\n nodes = <table> {\n }\n insertDatabaseNode = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:205\n hideTooltip = <function> defined @Interface\\AddOns\\GatherLite\\GatherLite.lua:64\n TimeSinceLastUpdate = 0\n UpdateInterval = 1\n ParseSentData = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:509\n needMapUpdate = true\n IsNodeInRange = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:97\n callbacks = <table> {\n }\n removeWorldmapNodes = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:505\n frames = <table> {\n }\n minimap = GatherLite_MinimapButton {\n }\n locale = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:43\n findSpellType = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:48\n checkNodePositions = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:490\n showTooltip = <function> defined @Interface\\AddOns\\GatherLite\\GatherLite.lua:50\n createMinimapNode = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:466\n print = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:8\n findExistingNode = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:106\n version = \"1.1.2-classic\"\n defaultConfigs = <table> {\n }\n showingTooltip = false\n updateDatabaseNode = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:258\n foundNode = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:128\n checkMinimapNodes = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:82\n isClassic = true\n classColours = <table> {\n }\n mainFrame = <unnamed> {\n }\n tracker = <table> {\n }\n createNodeTooltip = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:396\n WorldMapOpen = false\n minimapFrame = <unnamed> {\n }\n CopyDefaults = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:29\n UnregisterCallback = <function> defined @Interface\\AddOns\\Masque\\Libs\\CallbackHandler-1.0\\CallbackHandler-1.0.lua:153\n drawMinimap = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:337\n name = \"GatherLite\"\n}\n(*temporary) = 0\n(*temporary) = \"attempt to perform arithmetic on local 'elapsed' (a table value)\"\nGatherLite = <table> {\n spellIDs = <table> {\n }\n drawWorldmap = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:286\n findSpell = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:63\n updateMiniMapPosition = <function> defined @Interface\\AddOns\\GatherLite\\settings.lua:280\n tablelength = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:20\n createWorldmapNode = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:443\n debug = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:13\n tooltip = GatherLiteTooltip {\n }\n RegisterCallback = <function> defined @Interface\\AddOns\\Masque\\Libs\\CallbackHandler-1.0\\CallbackHandler-1.0.lua:90\n gatherSpellRanges = <table> {\n }\n nodes = <table> {\n }\n insertDatabaseNode = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:205\n hideTooltip = <function> defined @Interface\\AddOns\\GatherLite\\GatherLite.lua:64\n TimeSinceLastUpdate = 0\n UpdateInterval = 1\n ParseSentData = <function> defined @Interface\\AddOns\\GatherLite\\methods.lua:509\n needMapUpdate = true\n IsNodeInRange = <fun", ["stack"] = "Interface\\AddOns\\GatherLite\\events.lua:41: in function <Interface\\AddOns\\GatherLite\\events.lua:40>", ["session"] = 277, ["counter"] = 3300, }, -- [47]
Ok so it seems to be my own addon, SniperTips in conjunction with your addon causes the issue, but neither addons throws the error individually.
78898x GatherLite\events.lua:41: attempt to perform arithmetic on local 'elapsed' (a table value)
GatherLite\events.lua:41: in function <GatherLite\events.lua:40>
Locals:
elapsed = <unnamed> {
0 = <userdata>
DoHooks = <function> defined @SniperTips\lib.lua:166
OnApplyConfig = <function> defined @SniperTips\lib.lua:179
}
Judging by this, it looks like GatherLite is using the frame I have created in my addon.. not sure why.
Actually, I just found in my code I had a registration for OnUpdate that wasn't being used, SniperTips.frame:SetScript("OnUpdate", OnUpdate); - I have removed this and the conflict appears to be gone and both addons still work - AHA.. ok so your addon defines OnUpdate as a global function, makes perfect sense.
I would like to suggest you to not create your methods as globals, it's quite a common cause of addon taint :)