Opening HoA/SoA does not work in v1.1.9
CalistusK opened this issue ยท 13 comments
I have routes created in a previous version which I believe are set to week 4 affixes (Tyrannical/Inspiring/Necrotic/Prideful), in case that helps with tracking this down. I'm in the middle of a dungeon session right now so I don't have time to track this down, but I'll take a look afterwards.
Time: Sat Jan 2 18:34:02 2021
Count: 2
Stack: Interface\AddOns\DungeonTools\DungeonTools.lua:2807: attempt to index field 'value' (a number value)
[string "=[C]"]: ?
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:2807: in function `EnsureDBTables'
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:5092: in function <Interface\AddOns\DungeonTools\DungeonTools.lua:5044>
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:667: in function `ShowInterface'
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:62: in function `?'
[string "@Interface\FrameXML\ChatFrame.lua"]:5093: in function `ChatEdit_ParseText'
[string "@Interface\FrameXML\ChatFrame.lua"]:4757: in function `ChatEdit_SendText'
[string "@Interface\FrameXML\ChatFrame.lua"]:4793: in function `ChatEdit_OnEnterPressed'
[string "*:OnEnterPressed"]:1: in function <[string "*:OnEnterPressed"]:1>
Locals:
If you're using wowup, can you quickly update and let me know if it works?
I suspect you had a route in actual MDT previously with a partially broken table. In 1.1.8 and 1.1.9, code was added to automatically sync and import routes; looks like this may have caused the issue.
I added two type checks on the entry itself, and value
inside it; if the entry is not a table, it gets overwritten by a table; if value
is not a table, default fields are set to make sure that nothing, in theory, breaks.
Let me know if it works. I'll be back in 3-4 hours after a quick nap.
I was having the same issue and after reading this post I went into my WTF folder and found the saved variables .lua for Mythic Dungeon Tools (no longer installed) and removed those files. Dungeon Tools works fine now.
I didn't carry anything over from my old MDT SavedVariables, but in DungeonTools v1.1.8, I imported routes which I believe were created in MDT v3.3.4. You can find them here for reference: https://pastebin.com/bjF89xvk
I updated my DungeonTools to v.1.1.10, and this issue is still occurring. Regarding Drangleic's suggestion, I already deleted my original MDT SavedVariables while switching over to DungeonTools a few days ago, so that fix would not apply to my particular issue.
Message: Interface\AddOns\DungeonTools\DungeonTools.lua:3000: attempt to index field 'value' (a number value)
Time: Sat Jan 2 21:06:18 2021
Count: 4
Stack: Interface\AddOns\DungeonTools\DungeonTools.lua:3000: attempt to index field 'value' (a number value)
[string "=(tail call)"]: ?
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:3000: in function `UpdateToDungeon'
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:2778: in function <Interface\AddOns\DungeonTools\DungeonTools.lua:2756>
[string "=[C]"]: ?
[string "@Interface\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua"]:72: in function <...face\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Interface\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua"]:306: in function `Fire'
[string "@Interface\AddOns\Altoholic\libs\AceGUI-3.0\widgets\AceGUIWidget-DropDown.lua"]:442: in function <...ic\libs\AceGUI-3.0\widgets\AceGUIWidget-DropDown.lua:433>
[string "=[C]"]: ?
[string "@Interface\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua"]:72: in function <...face\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Interface\AddOns\Altoholic\libs\AceGUI-3.0\AceGUI-3.0.lua"]:306: in function `Fire'
[string "@Interface\AddOns\Altoholic\libs\AceGUI-3.0\widgets\AceGUIWidget-DropDown-Items.lua"]:351: in function <...s\AceGUI-3.0\widgets\AceGUIWidget-DropDown-Items.lua:341>
Locals: <none>
v1.1.11 is working a bit better for me in that it doesn't completely black out like v10 did,
I still can't open HoA at all. It also seems like all routes other than De Other Side, Mists and Theater of Pain has been emptied out.
All of my routes were test routes created in this addon probably in v.6 or .7 (not imported from anywhere),
4x DungeonTools\DungeonTools-1.1.11.lua:3018: attempt to index field 'value' (a number value)
[string "@DungeonTools\DungeonTools-1.1.11.lua"]:3018: in function `UpdateToDungeon'
[string "@DungeonTools\DungeonTools-1.1.11.lua"]:2780: in function <DungeonTools\DungeonTools.lua:2758>
[string "=[C]"]: ?
[string "@Bartender4\libs\AceGUI-3.0\AceGUI-3.0-41.lua"]:72: in function <...aceBartender4\libs\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Bartender4\libs\AceGUI-3.0\AceGUI-3.0-41.lua"]:306: in function `Fire'
[string "@Bartender4\libs\AceGUI-3.0-41\widgets\AceGUIWidget-DropDown.lua"]:437: in function <...r4\libs\AceGUI-3.0\widgets\AceGUIWidget-DropDown.lua:428>
[string "=[C]"]: ?
[string "@Bartender4\libs\AceGUI-3.0\AceGUI-3.0-41.lua"]:72: in function <...aceBartender4\libs\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Bartender4\libs\AceGUI-3.0\AceGUI-3.0-41.lua"]:306: in function `Fire'
[string "@Bartender4\libs\AceGUI-3.0-41\widgets\AceGUIWidget-DropDown-Items.lua"]:351: in function <...s\AceGUI-3.0\widgets\AceGUIWidget-DropDown-Items.lua:341>
How on earth is value
a number ๐ค .
The only thing I can think of as to how you ended up in that state is that the <New Preset>
in MDT has a value of 0 (line 127 in DungeonTools.lua
). This is likely where the problem is coming from, and when I imported all routes from MDT to dungeon tools, this stayed.
What a silly decision to have the New Preset
be a route in the route table though. I think I'm going to spend some time today erasing that hack.
Where my routes have been emptied out i have multiple <New Preset>
entries in the route dropdown, so could very well be related to that
Got the same behavior, after updating to 1.1.9 I am just getting black screen and lua error.
I pushed 1.1.11 onto curseforge for now; now that I know where it is coming from (roughly) thanks to @erigul 's comment, I should be able to replicate locally and fix.
with 1.1.11 now if I choose Theater of Pain
Message: Interface\AddOns\DungeonTools\DungeonTools.lua:3018: attempt to index field 'value' (a number value)
Time: Sun Jan 3 21:27:00 2021
Count: 1
Stack: Interface\AddOns\DungeonTools\DungeonTools.lua:3018: attempt to index field 'value' (a number value)
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:3018: in function `UpdateToDungeon'
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:2780: in function <Interface\AddOns\DungeonTools\DungeonTools.lua:2758>
[string "=[C]"]: ?
[string "@Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:72: in function <Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:306: in function `Fire'
[string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-DropDown.lua"]:437: in function <...ns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-DropDown.lua:428>
[string "=[C]"]: ?
[string "@Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:72: in function <Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Interface\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua"]:306: in function `Fire'
[string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIWidget-DropDown-Items.lua"]:351: in function <...3\AceGUI-3.0\widgets\AceGUIWidget-DropDown-Items.lua:341>
Locals: <none>
and
Message: Interface\AddOns\DungeonTools\DungeonTools.lua:2290: attempt to perform arithmetic on field 'week' (a nil value)
Time: Sun Jan 3 21:27:02 2021
Count: 2
Stack: Interface\AddOns\DungeonTools\DungeonTools.lua:2290: attempt to perform arithmetic on field 'week' (a nil value)
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:2290: in function `IsCurrentPresetFortified'
[string "@Interface\AddOns\DungeonTools\DungeonTools.lua"]:2599: in function `CalculateEnemyHealth'
[string "@Interface\AddOns\DungeonTools\DungeonEnemies.lua"]:484: in function `DisplayBlipTooltip'
[string "@Interface\AddOns\DungeonTools\DungeonEnemies.lua"]:96: in function <Interface\AddOns\DungeonTools\DungeonEnemies.lua:92>
Locals: self = <table> {
DeleteAllPresets = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:3192
DungeonEnemies_UpdateSelected = <function> defined @Interface\AddOns\DungeonTools\DungeonEnemies.lua:843
GetCurrentPull = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:2359
LiveSession_RequestSession = <function> defined @Interface\AddOns\DungeonTools\LiveSession.lua:83
PingMap = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:2333
AddPull = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:4153
DungeonEnemies_UpdateSeasonalAffix = <function> defined @Interface\AddOns\DungeonTools\DungeonEnemies.lua:950
HideInterface = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:693
GetBlip = <function> defined @Interface\AddOns\DungeonTools\DungeonEnemies.lua:759
RestoreScrollframeScripts = <function> defined @Interface\AddOns\DungeonTools\toolbar.lua:498
GetFullScreenSizes = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:879
ADDON_LOADED = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:144
UpdateDungeonEnemies = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:2636
IsFrameOffScreen = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:1021
dungeonEnemies = <table> {
}
IsCurrentPresetTyrannical = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:2294
POI_CreateFramePools = <function> defined @Interface\AddOns\DungeonTools\Pointsofinterest.lua:9
CreateDevPanel = <function> defined @Interface\AddOns\DungeonTools\devpanel.lua:134
StartEraserDrawing = <function> defined @Interface\AddOns\DungeonTools\toolbar.lua:841
SetLivePreset = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:2429
GetDungeonName = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:259
LiveSession_SendPreset = <function> defined @Interface\AddOns\DungeonTools\LiveSession.lua:201
UpdateEnemyInfoData = <function> defined @Interface\AddOns\DungeonTools\EnemyInfo.lua:553
HardReset = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:5068
CleanEnemyData = <function> defined @Interface\AddOns\DungeonTools\DungeonEnemies.lua:1333
GetHighestFrameLevelAtCursor = <function> defined @Interface\AddOns\DungeonTools\toolbar.lua:529
DisplayBlipTooltip = <function> defined @Interface\AddOns\DungeonTools\DungeonEnemies.lua:460
ClearPull = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:4190
StringToTable = <function> defined @Interface\AddOns\DungeonTools\Transmission.lua:93
SkinProgressBar = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:994
MakeRenameFrame = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:4267
DungeonEnemies_UpdateBoralusFaction = <function> defined @Interface\AddOns\DungeonTools\DungeonEnemies.lua:996
initToolbar = <function> defined @Interface\AddOns\DungeonTools\toolbar.lua:14
POI_UpdateAll = <function> defined @Interface\AddOns\DungeonTools\Pointsofinterest.lua:486
OpenCustomColorsDialog = <function> defined @Interface\AddOns\DungeonTools\DungeonTools.lua:2708
LiveSession_SendCommand = <function> defined @Interface\AddOns\DungeonTools\LiveSessio
I got my DT.lua file out of syncthing from a yesterday, which should have my routes that then broke when I upgraded, if that helps with recreating.
DungeonTools~20210102-171123.lua.txt
I'm reworking the route storage entirely. This is such a rabbit hole of a problem where a bunch of things are calling on the defaults when they should not be:
- there are routes without
value
( @erigul 's route in dungeon ID 33, first preset):
{
["mdi"] = {
["freeholdJoined"] = false,
["beguiling"] = 1,
["freehold"] = 1,
},
["week"] = 4,
["difficulty"] = 10,
["objects"] = {
},
}, -- [1]
- There are routes without even an object
- There are routes where
value
is an integer (0 for New Preset)
All of this stems from hacks to get the menu at the top to function without having to copy part of its state, which I am undoing right now. I will remove both the default route and the new preset element from there, move them as proper virtual objects, and mediate every other call so I can check things when another part of the addon requests a route.
This will take me a short while, though. In the meantime, /script DungeonTools:HardReset()
will wipe your routes if you absolutely do not mind losing them for now. I should be able to push a small corrective fix later today before the big refactor, too, depending on how the evening goes.
@erigul I've imported your data object and will use it to see if I can fix all the cases in it.
You should see v1.1.11 showing up soon; the change in it is aimed at fixing this.
Whenever you open dungeon tools, it will check and remove any presets that are not deemed valid routes. This should not cause issues as, in your case, an invalid route is a route without a value
table, which would not actually display anything.
Let me know if this fixes it; if it does I'll push it to curseforge as well.