WeakAuras

WeakAuras

200M Downloads

Lua error in CodeReview

nvnto opened this issue ยท 14 comments

commented

Is there an existing issue for this?

  • I have searched the existing open and closed issues.

Description

As requested on Discord:

Randomly got this error sitting in Valdrakken. Might have searched for groups in LFG during this time.

Did not test with WAs only, just checking the option to share the report.

WeakAuras Version

5.13.2

World of Warcraft Flavor

Retail (Default)

World of Warcraft Region

EU

Tested with only WeakAuras

I got this issue with only WeakAuras enabled

Lua Error

5x WeakAurasOptions/OptionsFrames/CodeReview.lua:96: bad argument #1 to 'pairs' (table expected, got nil)
[string "=[C]"]: ?
[string "@WeakAurasOptions/OptionsFrames/CodeReview.lua"]:96: in function <WeakAurasOptions/OptionsFrames/CodeReview.lua:95>
[string "=[C]"]: ?
[string "@ElvUI_Libraries/Core/Ace3/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <.../ElvUI_Libraries/Core/Ace3/AceGUI-3.0/AceGUI-3.0.lua:64>
[string "@ElvUI_Libraries/Core/Ace3/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function `Fire'
[string "@ElvUI_Libraries/Core/Ace3/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua"]:508: in function `SetSelected'
[string "@ElvUI_Libraries/Core/Ace3/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua"]:185: in function <...ce3/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua:181>

Locals:
(*temporary) = nil
(*temporary) = "table expected, got nil"
 = <function> defined =[C]:-1

Reproduction Steps

Last Good Version

No response

Screenshots

No response

Export String

No response

Bisector Report

No response

Saved Variables file:
WeakAuras.zip

commented

Sorry it's a local recording, I just called it VOD for some reason. Bit scuffed quality cause it's a cropped screen recording of the recording without audio, but guess it shows what's happened:

(Before the clip) I deleted a WA and closed the WA options panel and as soon as I close the options panel the first bugged tooltips in the middle of the screen appear when I randomly mouseover players in Valdrakken. Then I afk.

(The Lua error itself only popped up right after I clicked off the buff (where I start the clip below). But the bugged tooltips already started appearing right after I closed the WA options panel earlier.)

After afking I come back, browse LFG for a bit. I close the LFG tool and then the clip starts:

https://www.youtube.com/watch?v=qv76cvIaKvo

Clip starts with me clicking off the buff (top left). Right after I get a bunch of different tooltips next to my character again, my bugsack audio cue goes off and I mouseover the minimap icon in top right (end of clip)

Hope this helps.

commented

I did one key right before. But as far as I can tell, the only windows that were open during that session until the bug happened were the WA options panel, LFG tool and my bags/vendor UI.

commented

Are you sure you got that error without interacting with the WA options at that moment? Because that error message does point towards something in the options window.

commented

Actually forgot that I recorded so I just took some time to skip through my VOD to find when it happened.

Sorry, this one is on me. User issue.

I did not have any option panels open at the time, but when I rewound the VOD a bit, I saw that I deleted one icon WA a few minutes earlier without reloading and then afk'd a bit. So when I came back my right mouse click was acting up a bit, but thought that's from tabbing in and out of the game.

The error popped up a few minutes later when I clicked off a buff. It caused some bugged tooltip elements (from what seems to be an ElvUI options panel) appear in the middle of my screen that I didn't even notice at the time.

So pretty sure this one could have been avoided by simply reloading my UI earlier.

commented

Can you link the vod with a timestamp?

commented

I'm pretty certain that the video doesn't show when the error actually happened, the code that is mentioned in the stack trace can't run when you hover over an npc nor any other action visible in the video. Instead I believe the lua error did occur before that.

This is the same stack trace as #4962, which we couldn't figure out either. Both bug reports do have elvui in the trace.

I have an idea though.

Can you import https://wago.io/SwhK_2mTV. In the Import screen that is shown directly after pasting the code, there will be a "View custom code" button in the lower left. Clicking that should run the code that is mentioned in the trace. Maybe that is already enough to reproduce, though I doubt it.

And as a second test, this https://wago.io/ROsQURIb8 should not show any "View custom code" button. So please try this and see if the button shows up or not.

commented

Sorry, I just wasn't sure if you were saying whether it matters that BugSack plays its audio cue or not for an error to occur. So I tried to clarify, that me moving the cursor to check for the error is a direct response to me hearing the Fatality sound. Cause the original recording has audio, it's just not in the cropped clip.

My recording has about 25 minutes of footage before the error occured showing normal behavior, then I delete one Word of Glory WA in a Dynamic Group, and the second I close the WA options panel, I immediately start getting bugged tooltips in the middle of my screen from some ElvUI option panels.

If it helps, this is where it started: https://www.youtube.com/watch?v=3L05zoEmIEI I slightly slowed down the clip at the end to see the first tooltips briefly popping up a little better (at the edge where the grassy area starts).

Note: I do not have tooltips on mouse cursor.

I copy-pasted the import string of https://wago.io/SwhK_2mTV, clicked "View custom code" and did not get any Lua errors.

When doing the same with https://wago.io/ROsQURIb8, I did not get a"View custom code" button, as you suggested.

commented

As a sidenote: Seems like the bugged tooltips appear in the same order they would appear if I moved the mouse through an opened ElvUI options panel (/ec).

Wow_oDWx2X0Xbl

I moved the mouse top to bottom in this 2nd clip and the tooltips appeared top to bottom: Available tags > Filters > Information > Profiles.

commented

The audio cue always plays, but the tooltip of the bugsack doesn't show the most recent error, but the first one. So my assumption is that the error did occur earlier and you just missed it.

Thanks for testing the importing of those trivial examples. Those tooltips do look buggy, but that looks unrelated to this problem.

At this point, I'm not sure what to suggest for further debugging. I've looked at the code and am pretty certain that this can't happen. So atm my theory is still that a skinning addon, that is WindTools, is doing stupid stuff and thus creating the error.

In any case, maybe the next time someone encounters that lua error we'll get more lucky in deducing the right steps to reproduce it.

commented

Did you delete that video?

commented

Sorry for the late response. Clip should be available again.

Let me know if there is anything I can do to help or clarify.

commented

By the way: Looks more like the Lua error was directly caused by mouseovering the NPC vendor on the Yak mount, not clicking off the buff a few seconds earlier.

commented

By the way: Looks more like the Lua error was directly caused by mouseovering the NPC vendor on the Yak mount, not clicking off the buff a few seconds earlier.

We can't see if bugsack was clean of errors before this moment, what video show is when you noticed the error, not when error happened

commented

Yeah, that's true. Moment when I check the error in top right, is when I get the Bugsack audio cue. No idea how it works or if a certain threshold of errors has to be reached before the audio alert is triggered.

My interface was evidently acting up already when I deleted the WA earlier. Meaning when I tabbed back in my mouse cursor had some weird behavior when using right-click to move the camera around and the bugged tooltips showing in the middle of the screen when mouseovering elements (as described above).

Unfortunately my minimap button is mouseover only, so there is no way for me to tell, if BuckSack already collected errors before the audio alert.