Adventure Guide Lockouts

Adventure Guide Lockouts

366k Downloads

Reloading within instances causes error.

Saxayone opened this issue ยท 15 comments

commented

Reloading within instances causes the following error:
[19:58:49] AdventureGuideLockouts ERROR: instanceID is nil. Please report following values at https://github.com/Meivyn/AdventureGuideLockouts/issues
[19:58:49] AdventureGuideLockouts DEBUG:
[19:58:50] instanceMatch="2450",
[19:58:50] instanceLink="|cffff8000|Hinstancelock:Player-1597-0D7E9503:2450:15:1023|h[Sanctum of Domination]|h|r"

commented

There's nothing wrong with those values, instanceMatch correctly find the instanceID, so unless you have an outdated version of the add-on, I don't see how that's possible. Does it happen only after reloading? And in all instances or specifically the Sanctum of Domination? Were you in the Sanctum when it happened or in another instance?

commented

Reloading within an instance has always given me an error.
Latest version.
Only after reload.
In all instances, this one was from Halls after completing a m+ key, char had only saved instance from SoD.

commented

Go into your WoW folder then put the file in this archive in Interface\AddOns\AdventureGuideLockouts, replacing the existing one. Then show me again the report after /reload, please.

Core.zip

commented

Same output on login, reload in open world and reload within instance:

[23:49:45] AdventureGuideLockouts ERROR: instanceID is nil. Please report following values at https://github.com/Meivyn/AdventureGuideLockouts/issues
[23:49:45] AdventureGuideLockouts DEBUG:
[23:49:45] instanceIDNumber=2450,
[23:49:45] instanceLink="|cffff8000|Hinstancelock:Player-1597-0D7E9503:2450:15:1023|h[Sanctum of Domination]|h|r",
[23:49:45] instanceMatch="2450",
[23:49:45] instances={
[23:49:45] [33]=64,
[23:49:45] [552]=254,
[23:49:45] [616]=756,
[23:49:45] [967]=187,
[23:49:45] [553]=257,
[23:49:45] [585]=249,
[23:49:45] [649]=757,
[23:49:45] [469]=742,
[23:49:45] [1677]=900,
[23:49:45] [554]=258,
[23:49:45] [650]=284,
[23:49:45] [1001]=311,
[23:49:45] [555]=253,
[23:49:45] [619]=271,
[23:49:45] [938]=184,
[23:49:45] [556]=252,
[23:49:45] [939]=185,
[23:49:45] [1492]=727,
[23:49:45] [557]=250,
[23:49:45] [1493]=707,
[23:49:45] [940]=186,
[23:49:45] [1175]=385,
[23:49:45] [1004]=316,
[23:49:45] [558]=247,
[23:49:45] [1176]=537,
[23:49:45] [2217]=1180,
[23:49:45] [1753]=945,
[23:49:45] [2096]=1177,
[23:49:45] [560]=251,
[23:49:45] [2097]=1178,
[23:49:45] <skipped 111>
[23:49:45] }

commented

Totally non-sense, try with this.

Core.zip

commented

line 118 was missing comma at the end, added that then reload within instance gave:

[00:03:10] AdventureGuideLockouts ERROR: instanceID is nil. Please report following values at https://github.com/Meivyn/AdventureGuideLockouts/issues
[00:03:10] AdventureGuideLockouts DEBUG:
[00:03:10] instanceIDNumber=2450,
[00:03:10] instanceLink="|cffff8000|Hinstancelock:Player-1597-0D7E9503:2450:15:1023|h[Sanctum of Domination]|h|r",
[00:03:10] addonVersion="1.3.8",
[00:03:10] instanceMatch="2450"

For some reason was showing 1.3.8 in toc

commented

addonVersion="1.3.8"

You aren't on the latest version that's why it produces this error. Latest is v.1.4.0.

commented

Yeah seems to have been caused by that, curseforge was saying I had latest/1.4.0 but TOC/in-game it seems it was using 1.3.8 for some reason.

commented

I'll add this version info to prevent future similar issues, thanks for reporting that.

commented

Ok, definitely updated now and don't get that other issue but I did get this error when I reloaded within m+:

5x AdventureGuideLockouts\Core.lua:358: attempt to index field 'instancesLockouts' (a nil value) [string "@AdventureGuideLockouts\Core.lua"]:358: in function UpdateInstanceStatusFrame'
[string "@AdventureGuideLockouts\Core.lua"]:385: in function <AdventureGuideLockouts\Core.lua:382>
[string "=[C]"]: in function EncounterJournal_ListInstances' [string "@Blizzard_EncounterJournal\Blizzard_EncounterJournal-1.0.lua"]:2614: in function EJ_ContentTab_Select'
[string "@Blizzard_EncounterJournal\Blizzard_EncounterJournal-1.0.lua"]:300: in function EncounterJournal_ResetDisplay' [string "@Blizzard_EncounterJournal\Blizzard_EncounterJournal-1.0.lua"]:331: in function <...zzard_EncounterJournal\Blizzard_EncounterJournal.lua:312> [string "=[C]"]: ? [string "=[C]"]: ? [string "=[C]"]: in function Show'
[string "@FrameXML\UIParent.lua"]:2958: in function SetUIPanel' [string "@FrameXML\UIParent.lua"]:2803: in function ShowUIPanel'
[string "@FrameXML\UIParent.lua"]:2671: in function <FrameXML\UIParent.lua:2667>
[string "=[C]"]: in function resume' [string "@WeakAuras\WeakAuras-3.7.3.lua"]:1055: in function Login'
[string "@WeakAuras\WeakAuras-3.7.3.lua"]:1138: in function <WeakAuras\WeakAuras.lua:1089>

Locals:
self =

{
worldBosses =
{
}
RequestWarfrontInfo = defined @AdventureGuideLockouts\Core.lua:56
GetWorldBossLockout = defined @AdventureGuideLockouts\Core.lua:173
UpdateSavedInstances = defined @AdventureGuideLockouts\Core.lua:214
GetInstanceLockout = defined @AdventureGuideLockouts\Core.lua:109
instances =
{
}
GetSavedWorldBossEncounterInfo = defined @AdventureGuideLockouts\Core.lua:95
statusFrames =
{
}
CreateStatusFrame = defined @AdventureGuideLockouts\Core.lua:238
GetSavedWorldBossInfo = defined @AdventureGuideLockouts\Core.lua:66
UpdateInstanceStatusFrame = defined @AdventureGuideLockouts\Core.lua:349
UpdateStatusFramePosition = defined @AdventureGuideLockouts\Core.lua:306
}
instanceButton = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1 {
0 =
heroicIcon = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1HeroicIcon {
}
link = "|cff66bbff|Hjournal:0:1188:23|h[De Other Side]|h|r"
range = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1Range {
}
instanceID = 1188
bgImage = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1bgImage {
}
name = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1Name {
}
tooltipText = "Bwonsamdi has kept a secret place in the Shadowlands he refers to as De Other Side. When the dead started funneling into the Maw, Bwonsamdi hid several souls in his little domain, keeping his troll followers safe. But this broke an old deal with Mueh'zala and now the ancient loa has come to harvest those souls and destroy their caretaker. Bwonsamdi will need help collecting on some of his other dealings if he is to survive this onslaught and protect the souls within."
tooltipTitle = "De Other Side"
}
(*temporary) = nil
(*temporary) = 1188
(*temporary) = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1 {
0 =
heroicIcon = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1HeroicIcon {
}
link = "|cff66bbff|Hjournal:0:1188:23|h[De Other Side]|h|r"
range = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1Range {
}
instanceID = 1188
bgImage = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1bgImage {
}
name = EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1Name {
}
tooltipText = "Bwonsamdi has kept a secret place in the Shadowlands he refers to as De Other Side. When the dead started funneling into the Maw, Bwonsamdi hid several souls in his little domain, keeping his troll followers safe. But this broke an old deal with Mueh'zala and now the ancient loa has come to harvest those souls and destroy their caretaker. Bwonsamdi will need help collecting on some of his other dealings if he is to survive this onslaught and protect the souls within."
tooltipTitle = "De Other Side"
}
(*temporary) = "EncounterJournalInstanceSelectScrollFrameScrollChildInstanceButton1"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'instancesLockouts' (a nil value)"
pairs = defined =[C]:-1`

commented

That error isn't possible unless they changed how the game is loading in 9.1.5. Does this happen outside of dungeons?

Please do me a favor and add this line

print(event)

within this block:

elseif event == "UPDATE_INSTANCE_INFO" then
AddOn:RequestWarfrontInfo()
AddOn:UpdateSavedInstances()
UpdateFrames()
end

Then tell me if UPDATE_INSTANCE_INFO is showing anywhere in your chat before the error happens.

commented

In fact, looking at the stack trace, it looks like you have a WeakAuras trying to display the Adventure Guide early on. Or WeakAuras itself does it for some reason, but I doubt it. I can probably tell you which one is causing the problem if you give me the WeakAuras.lua file in the WTF\Account\YOUR_ACCOUNT\SavedVariables folder.

Trying to show a frame without the user being able to see it is a terrible practice and should be avoided.

commented

Only noticed it if I reload after a m+ key was done, think it was showing before 9.1.5 as-well but remembered to actually copy it.

Was using Bugsack so it's not showing within chat so I added a print before/after the line 358.

========== End of Scrollback ==========
[21:21:19] before
[21:21:19] before
[21:21:19] before
[21:21:19] before
[21:21:19] before
[21:21:20] Raider.IO: Combat being logged to Logs/WoWCombatLog
[21:21:21] Loot Specialization set to: Blood
[21:21:22] UPDATE_INSTANCE_INFO
[21:21:22] before
[21:21:22] after
[21:21:22] before
[21:21:22] after

Seems to line up with the 5 errors and them happening before the UPDATE_INSTANCE_INFO event,

commented

https://file.io/IR1rpgLxh1QK

Thinking about it, it's probably https://wago.io/M+Timer since I believe that grabs the boss names from the encounter journal and the wa is technically still active after finishing a key.

commented

Sorry for the wait, I forgot to answer, yes it's this WeakAuras looking at the file you sent. However, I'm not planning to implement a fix for this because as I said:

Trying to show a frame without the user being able to see it is a terrible practice and should be avoided.

See #13.

But if you want to fix it, replace this:

local instances = self.instancesLockouts[instanceButton.instanceID]

By this:

 local instances = self.instancesLockouts and self.instancesLockouts[instanceButton.instanceID] 

But I would rather report this to the author of the WeakAuras, so they can find a sane alternative.