Questie

Questie

116M Downloads

Exessive Lua errors in raid

Power-Otium opened this issue ยท 14 comments

commented

Bug description

Lua error in raid(Voa)

I summited pic since I can't copy and paste it due to getting a new error before I can hit ctrl+c but its related to an invalid key to next?

Screenshots

questieiii

Questie & WoW version

Which version of Questie are you using? You can find it by:
v8.5.1

Please also state if your quest issue is about Classic Era/SoM or Wotlk.

Wrath Classic

commented

Can you install an addon called BugSack?
https://www.curseforge.com/wow/addons/bugsack

We're going to need a complete debug stack in order to narrow this issue down. Looking over the GitBlame history for the referenced code lines... these haven't been touched in over 3 years.

commented

Oh i stopped getting new errors while flying here is the error

9613x invalid key to 'next'
[string "=[C]"]: in function next' [string "@Questie/Modules/Quest/QuestieQuest.lua"]:303: in function ?'
[string "@Questie/Modules/Quest/QuestieQuest.lua"]:330: in function <Questie/Modules/Quest/QuestieQuest.lua:329>

Locals:
(*temporary) =

{
7102 =
{
}
}
(*temporary) = 7122

commented

Hey @Power-Otium can you share a screenshot of all the quests in your quest log as well?

commented

Hey @Power-Otium can you share a screenshot of all the quests in your quest log as well?

quest 1
quest 2

happened on these two toons so far

commented

AV quests to be causing the errors? hmm

commented

AV quests to be causing the errors? hmm

Possibly...
https://www.wowhead.com/wotlk/quest=7102/towers-and-bunkers
https://www.wowhead.com/wotlk/quest=7122/capture-a-mine

...but wouldn't this have shown up at least once in the last 3 years?!?!

commented

Can you install an addon called BugSack? https://www.curseforge.com/wow/addons/bugsack

We're going to need a complete debug stack in order to narrow this issue down. Looking over the GitBlame history for the referenced code lines... these haven't been touched in over 3 years.

The pic in OP is bugsack..

commented

Hey @Power-Otium can you share a screenshot of all the quests in your quest log as well?

quest 1 quest 2

happened on these two toons so far

Thanks, that helps already! Does it happen every time you are in a raid/in the game? Or only at certain situations?

Also if it is still happening to you, can you run the following command and report/screenshot the outcome?

/dump QuestieLoader:ImportModule("QuestiePlayer").currentQuestlog

commented

I'm getting the same errors, whenever I enter a Battleground they start happening, doing a /reload stops them, but entering another Battleground starts them all over again.
I can't get a /dump QuestieLoader:ImportModule("QuestiePlayer").currentQuestlog copied because it's just too big.

These are my current quests:

image
image

commented

Hey @Power-Otium we want to keep this open to continue digging into it. This is not fixed yet

commented

Hey @Power-Otium we want to keep this open to continue digging into it. This is not fixed yet

Ah sorry I have not been able to recreate the bug for almost a week so thought it was fixed

commented

Still happening to me, attaching a currentQuestlog dump when it starts happening, I also added some logs after the line failing (just realised the logs should be before lol, will try to do so later)

349780198.txt

commented
movistar gestion
349780198

@sschepens That is what was inside that text file you attached. Are you on discord? Drop me the text file via a DM.

commented

Thank you @sschepens for sending me your logs...

I looked over the debug strings and his dump of /dump QuestieLoader:ImportModule("QuestiePlayer").currentQuestlog.

Long story short, there were only two quests in the QuestiePlayer.currentQuestlog table. The debug string output of QuestieQuest:SmoothReset() running said otherwise. I traced a couple of different stacks and came to a theory as to what is going on. In a nutshell I "think" QuestieQuest:SmoothReset() is triggered somewhere upon entering a Battleground along with _QuestEventHandler:ZoneChangedNewArea() which calls QuestieQuest:GetAllQuestIds() which "builds" the QuestiePlayer.currentQuestlog table. So a race condition where QuestieQuest:SmoothReset() is trying to iterate over a table that is in the process of being rebuilt.

My fix is to NOT run QuestieQuest:GetAllQuestIds() in the event trigger _QuestEventHandler:ZoneChangedNewArea() WHILE in a Raid, PVP (aka Battleground), or an Arena. Hopefully this will fix this issue.