This site works best with JavaScript enabled. Please enable JavaScript to get the best experience from this site.
What steps will reproduce the problem?
1. Log on.
2. Mouse over the TankPoints feed in your LDB display (here, StatBlockCore).
3. Left-click the LDB display feed.
What is the expected output? What do you see instead?
Expected: no problems.
Instead: Three different errors when doing each of the above (in order).
What version of the product are you using?
r165
Do you have an error log of what happened?
For 1.:
["message"] = "TankPoints-2.9.0 (r165a)\\TankPointsLibDataBroker.lua:146: attempt to index upvalue 'Toolkit' (a nil value)\nTankPoints-2.9.0 (r165a)\\TankPoints.lua:483: in function `FunctionName'\nTankPoints-2.9.0 (r165a)\\TankPoints.lua:291: in function <Interface\\AddOns\\TankPoints\\TankPoints.lua:275>\n", ["type"] = "error", ["locals"] = { "self = <table> {\n SetDefaultModuleLibraries = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:383\n SetDebugging = <function> defined @Interface\\AddOns\\TankPoints\\AceDebug-3.0\\AceDebug-3.0.lua:132\n ShieldIsEquipped = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:580\n SetShowPerStat = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:465\n EnableModule = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:348\n modules = <table> {\n }\n baseName = \"TankPoints\"\n IterateEmbeds = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:458\n noTPReason = \"should have TankPoints\"\n ShowPerStat = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:462\n TankPointsCalculatorStat_OnEnter = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:209\n ResistableElementalSchools = <table> {\n }\n GetDebugPrefix = <function> defined @Interface\\AddOns\\TankPoints\\AceDebu", -- [1] "g-3.0\\AceDebug-3.0.lua:192\n resultsTable = <table> {\n }\n defaultModuleState = true\n GetSourceData = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:978\n IsEnabled = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:467\n ElementalSchools = <table> {\n }\n CustomDebug = <function> defined @Interface\\AddOns\\TankPoints\\AceDebug-3.0\\AceDebug-3.0.lua:90\n Schedule = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:244\n IntToStr = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:1937\n RegisterMessage = <function> defined @Interface\\AddOns\\AddonLoader\\CallbackHandler-1.0\\CallbackHandler-1.0.lua:118\n GetArgs = <function> defined @Interface\\AddOns\\Ace3\\AceConsole-3.0\\AceConsole-3.0.lua:144\n SetupOptions = <function> defined @Interface\\AddOns\\TankPoints\\options.lua:389\n VarAsString = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:339\n playerLevel = 85\n SetDebugLevel = <function> defined @Interface\\Ad", -- [2] "dOns\\TankPoints\\AceDebug-3.0\\AceDebug-3.0.lua:151\n optionsFrames = <table> {\n }\n playerRace = \"Human\"\n db = <table> {\n }\n playerClass = \"PALADIN\"\n UNIT_AURA = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:506\n IsScheduled = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:271\n SetEnabledState = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:440\n sourceTable = <table> {\n }\n enabledState = true\n GetTankPoints = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:1857\n RegisterEvent = <function> defined @Interface\\AddOns\\AddonLoader\\CallbackHandler-1.0\\CallbackHandler-1.0.lua:118\n UpdateDataTable = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:488\n UNIT_INVENTORY_CHANGED = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:506\n EffectiveHealth_EffectiveHealthWithBlockTooltip = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:1085\n OnEnable = <func", -- [3] "tion> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:446\n IterateModules = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:453\n ScheduleRepeat = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:254\n AlterSourceData = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:1116\n BlockValueFrame_OnEnter = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:692\n EffectiveHealth_SpellEffectiveHealthTooltip = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:1183\n UpdateLDBDataObjects = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsLibDataBroker.lua:137\n EffectiveHealth_EffectiveHealthTooltip = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:1011\n Printf = <function> defined @Interface\\AddOns\\Ace3\\AceConsole-3.0\\AceConsole-3.0.lua:69\n LevelDebug = <function> defined @Interface\\AddOns\\TankPoints\\AceDebug-3.0\\AceDebug-3.0.lua:237\n G", -- [4] "etBlockedMod = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:1533\n UnSchedule = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:265\n date = \"20", -- [5] }, ["session"] = 5868, ["counter"] = 3, }, -- [998]
For 2.:
["message"] = "TankPoints-2.9.0 (r165a)\\TankPointsLibDataBroker.lua:92: attempt to index upvalue 'Toolkit' (a nil value)\nStatBlockCore-2.70\\StatBlockCore.lua:610: in function <Interface\\AddOns\\StatBlockCore\\StatBlockCore.lua:602>\n", ["type"] = "error", ["locals"] = "frame = StatBlockCore_TankPoints {\n 0 = <userdata>\n pluginName = \"TankPoints\"\n pluginObject = <table> {\n }\n}\nname = \"TankPoints\"\nobj = <table> {\n}\ndb = <table> {\n outline = \"NONE\"\n globalBDC = <table> {\n }\n globalScale = 1.01\n globalFont = \"Friz Quadrata TT\"\n iconPos = \"LEFT\"\n globalLock = false\n shadow = true\n globalColor = <table> {\n }\n globalAlpha = 1\n globalShownAlpha = 1\n launchers = true\n plugins = <table> {\n }\n globalHiddenAlpha = 1\n globalLabelColor = <table> {\n }\n globalSize = 20\n}\nGetTipAnchor = <function> defined @Interface\\AddOns\\StatBlockCore\\StatBlockCore.lua:533\n", ["session"] = 5868, ["counter"] = 2, }, -- [999]
For 3.:
["message"] = "TankPoints-2.9.0 (r165a)\\TankPointsLibDataBroker.lua:146: attempt to index upvalue 'Toolkit' (a nil value)\nTankPoints-2.9.0 (r165a)\\TankPoints.lua:483: in function `UpdateStats'\nTankPoints-2.9.0 (r165a)\\TankPoints.lua:2033: in function `ToggleCalculator'\nTankPoints-2.9.0 (r165a)\\TankPointsLibDataBroker.lua:25: in function `OnClick'\nStatBlockCore-2.70\\StatBlockCore.lua:598: in function <Interface\\AddOns\\StatBlockCore\\StatBlockCore.lua:596>\n", ["type"] = "error", ["locals"] = { "self = <table> {\n SetDefaultModuleLibraries = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:383\n SetDebugging = <function> defined @Interface\\AddOns\\TankPoints\\AceDebug-3.0\\AceDebug-3.0.lua:132\n ShieldIsEquipped = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:580\n SetShowPerStat = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:465\n EnableModule = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:348\n modules = <table> {\n }\n baseName = \"TankPoints\"\n IterateEmbeds = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:458\n noTPReason = \"should have TankPoints\"\n ShowPerStat = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:462\n TankPointsCalculatorStat_OnEnter = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:209\n ResistableElementalSchools = <table> {\n }\n GetDebugPrefix = <function> defined @Interface\\AddOns\\TankPoints\\AceDebu", -- [1] "g-3.0\\AceDebug-3.0.lua:192\n resultsTable = <table> {\n }\n defaultModuleState = true\n GetSourceData = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:978\n IsEnabled = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:467\n ElementalSchools = <table> {\n }\n CustomDebug = <function> defined @Interface\\AddOns\\TankPoints\\AceDebug-3.0\\AceDebug-3.0.lua:90\n Schedule = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:244\n IntToStr = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:1937\n RegisterMessage = <function> defined @Interface\\AddOns\\AddonLoader\\CallbackHandler-1.0\\CallbackHandler-1.0.lua:118\n GetArgs = <function> defined @Interface\\AddOns\\Ace3\\AceConsole-3.0\\AceConsole-3.0.lua:144\n SetupOptions = <function> defined @Interface\\AddOns\\TankPoints\\options.lua:389\n VarAsString = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:339\n playerLevel = 85\n SetDebugLevel = <function> defined @Interface\\Ad", -- [2] "dOns\\TankPoints\\AceDebug-3.0\\AceDebug-3.0.lua:151\n optionsFrames = <table> {\n }\n playerRace = \"Human\"\n db = <table> {\n }\n playerClass = \"PALADIN\"\n UNIT_AURA = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:506\n IsScheduled = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:271\n SetEnabledState = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:440\n sourceTable = <table> {\n }\n enabledState = true\n GetTankPoints = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:1857\n RegisterEvent = <function> defined @Interface\\AddOns\\AddonLoader\\CallbackHandler-1.0\\CallbackHandler-1.0.lua:118\n UpdateDataTable = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:488\n UNIT_INVENTORY_CHANGED = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:506\n EffectiveHealth_EffectiveHealthWithBlockTooltip = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:1085\n OnEnable = <func", -- [3] "tion> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:446\n IterateModules = <function> defined @Interface\\AddOns\\Ace3\\AceAddon-3.0\\AceAddon-3.0.lua:453\n ScheduleRepeat = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:254\n AlterSourceData = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:1116\n BlockValueFrame_OnEnter = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:692\n EffectiveHealth_SpellEffectiveHealthTooltip = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:1183\n UpdateLDBDataObjects = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsLibDataBroker.lua:137\n EffectiveHealth_EffectiveHealthTooltip = <function> defined @Interface\\AddOns\\TankPoints\\TankPointsPaperDollStats.lua:1011\n Printf = <function> defined @Interface\\AddOns\\Ace3\\AceConsole-3.0\\AceConsole-3.0.lua:69\n LevelDebug = <function> defined @Interface\\AddOns\\TankPoints\\AceDebug-3.0\\AceDebug-3.0.lua:237\n G", -- [4] "etBlockedMod = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:1533\n UnSchedule = <function> defined @Interface\\AddOns\\TankPoints\\TankPoints.lua:265\n date = \"20", -- [5] }, ["session"] = 5868, ["counter"] = 1, }, -- [1000] },
Please provide any additional information below.
After encountering the bugouts, tried again with no saved variables from prior versions. No change, the identical errors reoccurred.
Then went and embedded LibDataBroker-1.1 in the TankPoints \libs directory (and got it to load from the TOC). Because despite the fact that earlier loading LDB mods were present, some mods (improperly) bugout when libs they need are not loaded by themselves. LDB-1.1 should be embedded in any case; its not designed to be disembedded. Again no change, the identical errors reoccurred.
The error
attempt to index 'Toolkit' (a nil value)
'Toolkit'
is everywhere. That's because i forgot to include it in TankPoints version. Since it's also in HealPoints, i (and my other testers) already have it.
Checked in to SVN
Yes, its fixed in r167.
I'm not the biggest fan of libraries that aren't used by other mods except one or two of the author's own. Why not just integrate the code into each mod? Also not a fan of libraries that are embedded in a mod's own root directory instead of subdirectories. So didn't pay attention to the missing Toolkit-1.0.lua when deleting & upgrading.
For sure, I'm not complaining; if that lib makes things easier for you on the two mods you are bringing back from the dead, more power to it :). Suggest moving it to a subdirectory though.
Also suggest hard-embedding LibDataBroker-1.1 as suggested on the description page. If a mod can take advantage of a third party library, it should be included with it. Anyway, continued nice work.
i agree with having my code private. But there's no way to have a class that is private to an addon.
That's why LDB and Toolkit objects are libraries.
To post a comment, please login or register a new account.