r165 LDB support bugs out, is unusable #49


  • New
  • Defect
Open
Assigned to whitetooth3
  • _ForgeUser23487 created this issue Jan 30, 2012

    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.

  • _ForgeUser23487 added the tags New Defect Jan 30, 2012
  • _ForgeUser581183 posted a comment Jan 30, 2012

    Fixed

    The error

    attempt to index 'Toolkit' (a nil value)

    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

  • _ForgeUser23487 posted a comment Feb 1, 2012

    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.


    Edited Feb 1, 2012
  • _ForgeUser581183 posted a comment Feb 1, 2012

    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.


    Edited Feb 1, 2012

To post a comment, please login or register a new account.