Stack overflow issue
Toludin opened this issue ยท 10 comments
After doing dungeons for a while, I sometimes start generating the following error:
267x LibGetFrame-1.0\LibGetFrame-1.0-2.lua:77: UIParent:GetChildren(): Stack overflow
LibGetFrame-1.0\LibGetFrame-1.0-2.lua:77: in function <LibGetFrame-1.0\LibGetFrame-1.0.lua:72>
LibGetFrame-1.0\LibGetFrame-1.0-2.lua:121: in function <LibGetFrame-1.0\LibGetFrame-1.0.lua:96>
LibGetFrame-1.0\LibGetFrame-1.0-2.lua:180: in function GetFrame' [string "--[[ Error in 'Scan Events' ]] return funct..."]:155: in function <[string "--[[ Error in 'Scan Events' ]] return funct..."]:1> [C]: in function
xpcall'
WeakAuras\GenericTrigger.lua:517: in function <WeakAuras\GenericTrigger.lua:511>
WeakAuras\GenericTrigger.lua:637: in function ScanEventsInternal' WeakAuras\GenericTrigger.lua:624: in function
ScanEvents'
WeakAuras\GenericTrigger.lua:686: in function <WeakAuras\GenericTrigger.lua:677>
Locals:
InCombatSkipped
This was happening before LibGetFrame, too (back when it was just part of the WA).
I use ElvUI frames, if that matters.
I got the same issue:
1005x LibGetFrame-1.0\LibGetFrame-1.0-2.lua:77: UIParent:GetChildren(): Stack overflow
LibGetFrame-1.0\LibGetFrame-1.0-2.lua:77: in function <LibGetFrame-1.0\LibGetFrame-1.0.lua:72>
LibGetFrame-1.0\LibGetFrame-1.0-2.lua:121: in function <LibGetFrame-1.0\LibGetFrame-1.0.lua:96>
LibGetFrame-1.0\LibGetFrame-1.0-2.lua:180: in function GetFrame' [string "--[[ Error in 'Scan Events' ]] return funct..."]:155: in function <[string "--[[ Error in 'Scan Events' ]] return funct..."]:1> [C]: in function
xpcall'
WeakAuras\GenericTrigger.lua:517: in function <WeakAuras\GenericTrigger.lua:511>
WeakAuras\GenericTrigger.lua:637: in function ScanEventsInternal' WeakAuras\GenericTrigger.lua:624: in function
ScanEvents'
WeakAuras\GenericTrigger.lua:686: in function <WeakAuras\GenericTrigger.lua:677>
Locals:
InCombatSkipped
The problem started when I did room at King rest with the 4 packs.
Got the same problem in a Siege today (was my fourth dungeon of the session), using the new 1.1.1 release:
94x LibGetFrame-1.0\LibGetFrame-1.0-3.lua:77: UIParent:GetChildren(): Stack overflow
LibGetFrame-1.0\LibGetFrame-1.0-3.lua:77: in function <LibGetFrame-1.0\LibGetFrame-1.0.lua:72>
LibGetFrame-1.0\LibGetFrame-1.0-3.lua:121: in function <LibGetFrame-1.0\LibGetFrame-1.0.lua:96>
LibGetFrame-1.0\LibGetFrame-1.0-3.lua:180: in function GetFrame' [string "--[[ Error in 'Scan Events' ]] return funct..."]:155: in function <[string "--[[ Error in 'Scan Events' ]] return funct..."]:1> [C]: in function
xpcall'
WeakAuras\GenericTrigger.lua:517: in function <WeakAuras\GenericTrigger.lua:511>
WeakAuras\GenericTrigger.lua:637: in function ScanEventsInternal' WeakAuras\GenericTrigger.lua:624: in function
ScanEvents'
WeakAuras\GenericTrigger.lua:686: in function <WeakAuras\GenericTrigger.lua:677>
Locals:
InCombatSkipped
This seems very consistent - everything starts fine, then I start getting small FPS drops on combat start/stop, and then it leads to the stack overflow errors mentioned above. Only a full client restart seems to fix the issue.
Same issue from doing a raid just now:
397x LibGetFrame-1.0\LibGetFrame-1.0-3.lua:77: UIParent:GetChildren(): Stack overflow LibGetFrame-1.0\LibGetFrame-1.0-3.lua:77: in function <LibGetFrame-1.0\LibGetFrame-1.0.lua:72> LibGetFrame-1.0\LibGetFrame-1.0-3.lua:121: in function <LibGetFrame-1.0\LibGetFrame-1.0.lua:96> LibGetFrame-1.0\LibGetFrame-1.0-3.lua:180: in function
GetFrame'
[string "--[[ Error in 'Scan Events' ]] return funct..."]:155: in function <[string "--[[ Error in 'Scan Events' ]] return funct..."]:1>
[C]: in function xpcall' WeakAuras\GenericTrigger.lua:517: in function <WeakAuras\GenericTrigger.lua:511> WeakAuras\GenericTrigger.lua:637: in function
ScanEventsInternal'
WeakAuras\GenericTrigger.lua:624: in function ScanEvents' WeakAuras\GenericTrigger.lua:686: in function <WeakAuras\GenericTrigger.lua:677>
@wheatbread @Toludin @Moowalker sorry for answering only now, i didn't see any notification for this issue
You have an addon or a weakauras polluting UIParent
To diagnose which one is doing shit, install the addon wowlua and run this code
hooksecurefunc("CreateFrame", function(_, _, parent)
if parent == UIParent or parent == "UIParent" then
local ok, count = pcall(function() select('#',UIParent:GetChildren())end)
if not ok or (count and count > 300) then
geterrorhandler()('This addon is screwing with you:\n' .. debugstack())
end
end
end)
When something try to create frames past the 300th you will get warned of what is doing it
If you find what addon or weakauras is doing this please report to me and i'll see myself contact author to help him fix it
The issue seems to be related to the ongoing problem of reloading/zoning duplicating WAs. Now that I regularly fully restart my client when I start getting those micro-jitters, I've not had this error occur again.
Rumor is this problem will be fixed in 8.1.5.
If you say so - you would certainly know better than I - but I've not had this issue in a month and a half since restarting my client regularly when I start getting framerate jitters on combat start/stop, after routinely seeing these errors.
The only thing the lib does at combat start/stop is it empty a table (the cahce), it could make a short FPS drop if the table took like 200mb+ maybe but it's a simple associative array frame address => unit
The issue here that can still happen is the LibGetFrame-1.0\LibGetFrame-1.0-3.lua:77: UIParent:GetChildren(): Stack overflow
it is also a blizzard bug when UIParent have too much children, made by some bugged addon/aura.
I gave a code to help identify it, so if you still have this issue in dungeon please follow the instruction i gave and i will do the best i can to help fix it upstream.