[BUG] Huge UI delays
ILeClerk opened this issue · 13 comments
🔵 Describe the bug:
Hard to reproduce, but it seems that MobInfo2 gets "blamed" by Blizzard regarding a secure call issue, but I am not sure if it is MobInfo2 at all. Looking at my taint log, I can see it might have to do with GSE as well. Hence the bug filed. Once WoW is in this state, you have to reload or relogin. It keeps repeating for tons of elements and can cause a freeze of 1 to 2 seconds each time you click the macro key.
🔵 To reproduce: (Steps to reproduce the behavior)
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
🔵 The error:
Paste the error message in this blockquote.
Interface/FrameXML/RestrictedFrames.lua:784
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetAttribute()
Interface/FrameXML/ActionButton.lua:330 ActionButton1:UpdatePressAndHoldAction()
Interface/FrameXML/ActionButton.lua:392 ActionButton1:Update()
Interface/FrameXML/ActionButton.lua:342 ActionButton1:UpdateAction()
Interface/FrameXML/ActionButton.lua:801 ActionButton1:OnEvent()
Interface/FrameXML/ActionButton.lua:196
SetMacroSpell()
Interface/AddOns/GSE/API/Storage.lua:759 method()
Interface/FrameXML/RestrictedFrames.lua:791
securecall()
Interface/FrameXML/RestrictedFrames.lua:810 CallMethod()
local step = self:GetAttribute('step')
step = tonumber(step)
self:SetAttribute('macrotext', macros[step] )
step = step % #macros + 1
if not step or not macros[step] then -- User attempted to write a step method that doesn't work, reset to 1
print('|cffff0000Invalid step assigned by custom step sequence', self:GetName(), step or 'nil', '|r')
step = 1
end
self:SetAttribute('step', step)
self:CallMethod('UpdateIcon')
:10
pcall()
Interface/FrameXML/RestrictedExecution.lua:484
Interface/FrameXML/SecureHandlers.lua:285
GSE_HAVOC:Click()
Interface/FrameXML/ChatFrame.lua:1617 ?()
Interface/FrameXML/ChatFrame.lua:5209 ChatEdit_ParseText()
Interface/FrameXML/ChatFrame.lua:4893 ChatEdit_SendText()
Interface/FrameXML/ChatFrame.lua:3137
UseAction()
Interface/FrameXML/SecureTemplates.lua:364 handler()
Interface/FrameXML/SecureTemplates.lua:690 PerformAction()
Interface/FrameXML/SecureTemplates.lua:704 OnActionButtonClick()
Interface/FrameXML/SecureTemplates.lua:746
pcall()
Interface/FrameXML/SecureHandlers.lua:266
securecall()
Interface/FrameXML/SecureHandlers.lua:296
🔵 Screenshots:
If applicable, add screenshots to help explain your problem.
🔵 Expected behavior:
A clear and concise description of what you expected to happen.
🔵 GSE.lua file:
Please provide your GSE.lua
file or the export string for the specific macro that is causing an issue.
- To find the GSE.lua file:
- First, make sure you have enabled the "File Name Extensions" checkbox in Explorer (View tab)
- Browse to
C:\path\to\wow\_retail_\WTF\Account\YourAccountName\SavedVariables\
or/path/to/WoW/_retail_/WTF/Account/YourAccountName/SavedVariables
- Copy the
GSE.lua
file to your Desktop - Rename this copy to
GSA.lua.txt
- Then just drag it here in your message
- Note: If you do not include your GSE.lua file you are wasting your time and mine. 90% of the time, the first thing I will ask for is "Can you please upload your GSE.lua file?". This file is needed with the error to work out Why that error occured for you.
🔵 Desktop (please complete the following information):
- OS: Win11
- Game Version retail 10.0.5]
🔵 GSE Version:
- Version: 3.1.28 (retail)
- Downloaded From: https://www.curseforge.com
🔵 Additional context:
Add any other context about the problem here.
The actual failure is this part:
MobInfo2 - ActionButton1:SetAttribute()
Interface/FrameXML/ActionButton.lua:330
Because a GSE button must operate in a blind case within the Combst Sandbox. It is effectively quarantined from the rest of your UI to operate. As soon as MobInfo tries to interact with it MobInfo is breaking the quarantine and disabling the GSE button.
MobInfo needs to leave the button alone and not touch it. As soon as it tries to “SetAttribute” on the button to leave its own things in the object it’s breaking the quarantine and Blizzard is going ok that button is broken now.
Yeah but the strange part is that I don't see where this could happen in MobInfo2. It is all over the place when it happens :(
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetAttribute()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton3:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton4:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton5:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton6:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton7:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton8:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton9:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton10:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton11:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton12:SetShown()
An action was blocked in combat because of taint from MobInfo2 - MainMenuBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomLeft:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomRight:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - StanceBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PetActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PossessActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetAttribute()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton3:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton4:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton5:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton6:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton7:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton8:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton9:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton10:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton11:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton12:SetShown()
An action was blocked in combat because of taint from MobInfo2 - MainMenuBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomLeft:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomRight:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - StanceBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PetActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PossessActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetAttribute()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton3:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton4:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton5:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton6:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton7:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton8:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton9:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton10:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton11:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton12:SetShown()
An action was blocked in combat because of taint from MobInfo2 - MainMenuBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomLeft:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomRight:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - StanceBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PetActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PossessActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetAttribute()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton3:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton4:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton5:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton6:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton7:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton8:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton9:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton10:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton11:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton12:SetShown()
An action was blocked in combat because of taint from MobInfo2 - MainMenuBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomLeft:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomRight:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - StanceBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PetActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PossessActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetAttribute()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton3:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton4:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton5:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton6:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton7:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton8:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton9:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton10:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton11:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton12:SetShown()
An action was blocked in combat because of taint from MobInfo2 - MainMenuBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomLeft:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomRight:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - StanceBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PetActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PossessActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetAttribute()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton3:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton4:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton5:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton6:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton7:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton8:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton9:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton10:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton11:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton12:SetShown()
An action was blocked in combat because of taint from MobInfo2 - MainMenuBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomLeft:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - MultiBarBottomRight:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - StanceBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PetActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - PossessActionBar:SetPointBase()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetAttribute()
An action was blocked in combat because of taint from MobInfo2 - ActionButton1:SetShown()
An action was blocked in combat because of taint from MobInfo2 - ActionButton2:SetShown()
Well that is the problem MobInfo2 is not touching any action button or anything like that. That is the strange part that I am trying to figure out. I will keep looking :)
It will just be looping around a bunch of objects in its code and not checking if the object is secure or not first.
But the super easy way to test this is to disable MibInfo2 and then use your GSE template.
MobInfo2 always updates tooltips (only for enemy targets) that is the purpose - let me see if it interferes with the change in Icon when GSE changes it. I am running with disabled newly added functionality and see if that is the cause - since I have not had any issues with any other addon - since that addition. I appreciate your feedback!