WeakAuras

WeakAuras

206M Downloads

AddOn 'WeakAuras' tried to call the protected function 'RaidGroupButton1:SetPoint()'

mrbuds opened this issue · 26 comments

commented

Describe the bug

Error happening on classic while in groups.

Do you have an error log of what happened?

7x [ADDON_ACTION_BLOCKED] AddOn 'WeakAuras' tried to call the protected function 'RaidGroupButton1:SetPoint()'.
!BugGrabber\BugGrabber.lua:519: in function <!BugGrabber\BugGrabber.lua:519>
[C]: in function `SetPoint'
Blizzard_RaidUI\Blizzard_RaidUI.lua:496: in function `RaidGroupFrame_Update'
Blizzard_RaidUI\Blizzard_RaidUI.lua:183: in function <Blizzard_RaidUI\Blizzard_RaidUI.lua:168>

Locals:
InCombatSkipped

To Reproduce

Not sure exactly how to reproduce the issue but it happen a lot for me while in a raid group.

I'm no specialist on taint issues, i don't show bliz'compactraidframe but it seems an aura anchored to their buttons taint it, probably that one https://wago.io/BAxOS8q9f

The code in blizz's ui that raise the error is

	-- Anchor button to slot
	if ( MOVING_RAID_MEMBER ~= button  ) then
		button:SetPoint("TOPLEFT", button.slot, "TOPLEFT", 0, 0);
	end
commented

@mrbuds so what did you do to fix it?

commented

i have this same issue in retail with 10.1 and the latest Wear auras versions.
the error comes up every time i log into the game on any Toon. the same error for them all.

7x [ADDON_ACTION_BLOCKED] AddOn 'WeakAuras' tried to call the protected function 'EncounterBar:Show()'.
[string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function Show' [string "return function() if aura_env.reshow then"]:2: in function <[string "return function() if aura_env.reshow then"]:1> [string "=[C]"]: in function xpcall'
[string "@WeakAuras/WeakAuras.lua"]:3607: in function PerformActions' [string "@WeakAuras/RegionTypes/RegionPrototype.lua"]:828: in function Collapse'
[string "@WeakAuras/WeakAuras.lua"]:1927: in function UnloadDisplays' [string "@WeakAuras/WeakAuras.lua"]:1679: in function <WeakAuras/WeakAuras.lua:1528> [string "@WeakAuras/WeakAuras.lua"]:1721: in function ScanForLoads'
[string "@WeakAuras/WeakAuras.lua"]:1771: in function f' [string "@WeakAuras/WeakAuras.lua"]:56: in function Fire'
[string "@WeakAuras/Dragonriding.lua"]:20: in function <WeakAuras/Dragonriding.lua:7>

Locals:
_ = Frame {
RegisterEvent = defined @!BugGrabber/BugGrabber.lua:486
0 =
UnregisterEvent = defined @!BugGrabber/BugGrabber.lua:486
SetScript = defined @!BugGrabber/BugGrabber.lua:486
}
event = "ADDON_ACTION_BLOCKED"
events =

{
ADDON_ACTION_BLOCKED = defined @!BugGrabber/BugGrabber.lua:552
ADDON_ACTION_FORBIDDEN = defined @!BugGrabber/BugGrabber.lua:552
PLAYER_LOGIN = defined @!BugGrabber/BugGrabber.lua:546
LUA_WARNING = defined @!BugGrabber/BugGrabber.lua:561
ADDON_LOADED = defined @!BugGrabber/BugGrabber.lua:506
}

commented

Can you try again with /console taintLog set to 2 and then attach Logs\taint.log ?

commented

yes

commented

Hmm, I can't see what the problem is or why the game thinks we tainted that button.

commented

an extract from the taintlog, i don't know if that will help

7/27 18:37:04.109  An action was blocked in combat because of taint from WeakAuras - RaidGroupButton39:Hide()
7/27 18:37:04.109      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:511 RaidGroupFrame_Update()
7/27 18:37:04.109      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:191
7/27 18:37:04.109  Execution tainted by ClassicLFG while reading INTERFACE_ACTION_BLOCKED_SHOWN - Interface\FrameXML\UIParent.lua:974
7/27 18:37:04.109      RaidGroupButton40:Hide()
7/27 18:37:04.109      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:511 RaidGroupFrame_Update()
7/27 18:37:04.109      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:191
7/27 18:37:04.109  (for generator)()
7/27 18:37:04.109  An action was blocked in combat because of taint from WeakAuras - RaidGroupButton40:Hide()
7/27 18:37:04.109      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:511 RaidGroupFrame_Update()
7/27 18:37:04.109      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:191
7/27 18:37:04.109  Execution tainted by ClassicLFG while reading INTERFACE_ACTION_BLOCKED_SHOWN - Interface\FrameXML\UIParent.lua:974
7/27 18:37:04.109      CompactRaidFrame2:Hide()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:355 CompactUnitFrame_UpdateVisible()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:286 CompactUnitFrame_UpdateAll()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:54
7/27 18:37:04.109  Interface\FrameXML\CompactUnitFrame.lua:427 CompactUnitFrame_UpdateMaxHealth()
7/27 18:37:04.109  An action was blocked in combat because of taint from RCLootCouncil_Classic - CompactRaidFrame2:Hide()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:355 CompactUnitFrame_UpdateVisible()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:286 CompactUnitFrame_UpdateAll()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:54
7/27 18:37:04.109  Execution tainted by ClassicLFG while reading INTERFACE_ACTION_BLOCKED_SHOWN - Interface\FrameXML\UIParent.lua:974
7/27 18:37:04.109      CompactRaidFrame3:Hide()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:355 CompactUnitFrame_UpdateVisible()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:286 CompactUnitFrame_UpdateAll()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:54
7/27 18:37:04.109  Interface\FrameXML\CompactUnitFrame.lua:427 CompactUnitFrame_UpdateMaxHealth()
7/27 18:37:04.109  An action was blocked in combat because of taint from RCLootCouncil_Classic - CompactRaidFrame3:Hide()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:355 CompactUnitFrame_UpdateVisible()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:286 CompactUnitFrame_UpdateAll()
7/27 18:37:04.109      Interface\FrameXML\CompactUnitFrame.lua:54
7/27 18:37:04.109  Execution tainted by ClassicLFG while reading INTERFACE_ACTION_BLOCKED_SHOWN - Interface\FrameXML\UIParent.lua:974
commented

Well there must be earlier taints. If I read that correctly INTERFACE_ACTION_BLOCKED_SHOWN is tainted?

commented

first occurrence for INTERFACE_ACTION_BLOCKED_SHOWN

7/27 18:37:04.029  Execution tainted by QuestLogEx while reading QUEST_WATCH_LIST - Interface\FrameXML\QuestLogFrame.lua:777
7/27 18:37:04.091  Execution tainted by TradeSkillMaster while reading ChatFrame_OnEvent - ChatFrame1:OnEvent()
7/27 18:37:04.091  Execution tainted by TradeSkillMaster while reading ChatFrame_OnEvent - ChatFrame1:OnEvent()
7/27 18:37:04.093  Execution tainted by TradeSkillMaster while reading ChatFrame_OnEvent - ChatFrame1:OnEvent()
7/27 18:37:04.093  Execution tainted by InstanceBoostTracker while reading QuestLog_OnEvent - QuestLogFrame:OnEvent()
7/27 18:37:04.093  Execution tainted by ClassicLFG while reading INTERFACE_ACTION_BLOCKED_SHOWN - Interface\FrameXML\UIParent.lua:974
7/27 18:37:04.093      RaidGroupButton1:SetPoint()
7/27 18:37:04.093      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:496 RaidGroupFrame_Update()
7/27 18:37:04.093      Interface\FrameXML\RaidFrame.lua:121 RaidFrame_Update()
7/27 18:37:04.093      Interface\FrameXML\RaidFrame.lua:60 RaidFrame_OnEvent()
7/27 18:37:04.093      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:169
7/27 18:37:04.093  (for generator)()
7/27 18:37:04.093  An action was blocked in combat because of taint from WeakAuras - RaidGroupButton1:SetPoint()
7/27 18:37:04.093      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:496 RaidGroupFrame_Update()
7/27 18:37:04.093      Interface\FrameXML\RaidFrame.lua:121 RaidFrame_Update()
7/27 18:37:04.093      Interface\FrameXML\RaidFrame.lua:60 RaidFrame_OnEvent()
7/27 18:37:04.093      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:169
7/27 18:37:04.093  Execution tainted by ClassicLFG while reading INTERFACE_ACTION_BLOCKED_SHOWN - Interface\FrameXML\UIParent.lua:974
7/27 18:37:04.093      RaidGroupButton1:SetID()
7/27 18:37:04.093      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:507 RaidGroupFrame_Update()
7/27 18:37:04.093      Interface\FrameXML\RaidFrame.lua:121 RaidFrame_Update()
7/27 18:37:04.093      Interface\FrameXML\RaidFrame.lua:60 RaidFrame_OnEvent()
7/27 18:37:04.093      Interface\AddOns\Blizzard_RaidUI\Blizzard_RaidUI.lua:169
7/27 18:37:04.093  (for generator)()
commented

Can you attach the whole file?

commented
commented

Is the Classic PTR still up? If yes, does it have taintLog 11 enabled?

commented

That did not fix the taint issue

commented

Hmm, can you try with less addons enabled?

Some of the lines in the taint log look a bit odd, as in the addons should not write any of these globals.
I can't see any usage of any of these globals in the RaidUI code, so no idea where the taint comes from, but you sure have a number of strange addons.

7/27 19:02:12.890 Global variable tablelength tainted by ChocolateBar - Interface\AddOns\ChocolateBar\Core.lua:567
7/27 19:02:12.890 Global variable onRightClick tainted by ChocolateBar - Interface\AddOns\ChocolateBar\Core.lua:573
7/27 19:02:12.890 Global variable findpattern tainted by ChocolateBar - Interface\AddOns\ChocolateBar\Chocolate.lua:33
7/27 19:02:13.039 Global variable trim tainted by Details - Interface\AddOns\Details\Libs\NickTag-1.0\NickTag-1.0.lua:431
7/27 19:02:13.062 Global variable SMALL_FLOAT tainted by AtlasLootClassic - Interface\AddOns\Details\Libs\DF\Details-Framework-Classic\math.lua:13
7/27 19:02:13.143 Global variable _ tainted by Details - Interface\AddOns\Details\boot.lua:5
7/27 19:02:13.220 Global variable vardump tainted by Details - Interface\AddOns\Details\boot.lua:693
7/27 19:02:13.220 Global variable table_deepcopy tainted by Details - Interface\AddOns\Details\boot.lua:703
7/27 19:02:13.771 Global variable utf8_lc_uc tainted by VuhDo - Interface\AddOns\VuhDo\Libs\UTF8\utf8data.lua:933
7/27 19:02:13.771 Global variable utf8_uc_lc tainted by VuhDo - Interface\AddOns\VuhDo\Libs\UTF8\utf8data.lua:1859
7/27 19:02:14.570 Interface\AddOns\ChocolateBar\libs\AceAddon-3.0\AceAddon-3.0.lua:613
7/27 19:02:14.570 Global variable GetNumClasses tainted by RCLootCouncil_Classic - Interface\AddOns\RCLootCouncil_Classic\API\Deprecations.lua:2
7/27 19:02:14.570 Global variable GetNumSpecializationsForClassID tainted by RCLootCouncil_Classic - Interface\AddOns\RCLootCouncil_Classic\API\Deprecations.lua:6
7/27 19:02:14.570 Global variable GetClassInfo tainted by RCLootCouncil_Classic - Interface\AddOns\RCLootCouncil_Classic\API\Deprecations.lua:11
7/27 19:02:14.570 Global variable IsPartyLFG tainted by RCLootCouncil_Classic - Interface\AddOns\RCLootCouncil_Classic\API\Deprecations.lua:20
7/27 19:02:14.599 Global variable GetDefaultHighlightBlank tainted by RCLootCouncil_Classic - Interface\AddOns\RCLootCouncil_Classic\RCLootCouncil\Libs\lib-st\Core.lua:435
7/27 19:02:14.599 Global variable SetDefaultHighlightBlank tainted by RCLootCouncil_Classic - Interface\AddOns\RCLootCouncil_Classic\RCLootCouncil\Libs\lib-st\Core.lua:439
7/27 19:02:14.599 Global variable GetDefaultHighlight tainted by RCLootCouncil_Classic - Interface\AddOns\RCLootCouncil_Classic\RCLootCouncil\Libs\lib-st\Core.lua:450
7/27 19:02:14.599 Global variable SetDefaultHighlight tainted by RCLootCouncil_Classic - Interface\AddOns\RCLootCouncil_Classic\RCLootCouncil\Libs\lib-st\Core.lua:454
7/27 19:02:14.924 Global variable debugprofilestart tainted by TradeSkillMaster - Interface\AddOns\TradeSkillMaster\External\AccurateTime\AccurateTime.lua:93
7/27 19:02:14.924 Global variable debugprofilestop tainted by TradeSkillMaster - Interface\AddOns\TradeSkillMaster\External\AccurateTime\AccurateTime.lua:94
7/27 19:02:15.703 Global variable stripChars tainted by TwitchEmotes - Interface\AddOns\TwitchEmotes\TwitchEmotes.lua:7707
7/27 19:02:15.703 Global variable b tainted by TwitchEmotes - Interface\AddOns\TwitchEmotes\TwitchEmotes.lua:8157
7/27 19:02:15.718 Global variable justifyH tainted by VuhDoOptions - Interface\AddOns\VuhDoOptions\VuhDoLocalization_en.lua:1049
7/27 19:02:15.718 Global variable inherits tainted by VuhDoOptions - Interface\AddOns\VuhDoOptions\VuhDoLocalization_en.lua:1049
7/27 19:02:19.133 Global variable object tainted by BasicChatMods - Interface\AddOns\BasicChatMods\fade.lua:135 ?()
7/27 19:02:19.146 Global variable fs tainted by ColorPickerPlus - Interface\AddOns\ColorPickerPlus\ColorPickerPlus.lua:1028 CreateHelpFrame()
7/27 19:02:20.093 Global variable _ tainted by ClassicAuraDurations - Interface\AddOns\LoseControl\LoseControl.lua:2075 LoseControlplayer:UNIT_AURA()
7/27 19:02:20.300 Global variable _ tainted by NovaWorldBuffs - Interface\AddOns\NovaWorldBuffs\NovaWorldBuffs.lua:773 checkGuildMasterSetting()
7/27 19:02:20.617 Global variable _ tainted by HKCounter - Interface\AddOns\HKCounter\HKCounter.lua:924 HKC_GetBGStats()
7/27 19:02:20.617 Global variable deaths tainted by HKCounter - Interface\AddOns\HKCounter\HKCounter.lua:939 HKC_GetBGStats()
7/27 19:02:37.374 Global variable count tainted by NovaWorldBuffs - Interface\AddOns\NovaWorldBuffs\NovaWorldBuffs.lua:2590 GetLayerCount()
7/27 19:06:18.768 Global variable handler tainted by VuhDo - Interface\AddOns\VuhDo\Libs\LibThreatClassic2\ThreatClassModuleCore.lua:999 parseGain()

commented

@mrbuds ping

commented

woops sorry i could reproduce with only weakauras & bugsack loaded, i'll make an other tainlog with only those

commented

taint.zip

only addon enabled is weakauras

commented

This appears to the place where the taint spreads from WeakAuras :

8/2 14:38:16.552 Execution tainted by WeakAuras while reading CompactRaidGroup2Member2 - Interface\FrameXML\CompactRaidGroup.lua:41 CompactRaidGroup_InitializeForGroup()
8/2 14:38:16.552 Interface\FrameXML\CompactRaidGroup.lua:30 CompactRaidGroup_GenerateForGroup()
8/2 14:38:16.552 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:226 CompactRaidFrameContainer_AddGroup()
8/2 14:38:16.552 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:211 CompactRaidFrameContainer_AddGroups()
8/2 14:38:16.552 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:174 CompactRaidFrameContainer_LayoutFrames()
8/2 14:38:16.552 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:130 CompactRaidFrameContainer_TryUpdate()
8/2 14:38:16.552 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:57 CompactRaidFrameContainer_OnEvent()
8/2 14:38:16.552 CompactRaidFrameContainer:OnEvent()

commented

And the actual line is:
local unitFrame = _G[frame:GetName().."Member"..i];

commented

Can you narrow it down to a aura? It should be a aura that attaches to unit frames, and I suspect it has something to do with LibGetFrame, though after a quick look at the code I can't see anything wrong.

Looking at it, you must be in a raid too. And you might be able to check if the taint already spread via:
https://wowwiki.fandom.com/wiki/API_issecurevariable

commented

i made a sample aura to check blizzard's frames

function()
    local text = ""
    for i = 1, 8 do
        local frame = _G["CompactRaidGroup"..i]
        if frame then
            for j=1, MEMBERS_PER_RAID_GROUP do
                local unitFrame = _G[frame:GetName().."Member"..j];
                local secure, taint = issecurevariable(frame:GetName().."Member"..j)
                text = ("%s\n%d:%d %s/%s, %s"):format(
                    text,
                    i,
                    j,
                    secure and "secure" or "tainted!",
                    taint or "no taint",
                    unitFrame:IsShown() and "shown" or "hidden"
                )
            end
        end
    end
    return text
end

sadly that won't tell exactly what triggers it, but i'll be streaming so i can get the exact context when it happen

i'v tested with an other account in raid to move frames with auras anchored to unitframes, and dynamic group anchored to unitframes but couldn't reproduce yet, i need time to test it in battleground where it happen most of the time

commented

i don't know if i'm doing it wrong, but if i type

print(issecurevariable("RaidGroupButton1"))

just after getting this error

1x [ADDON_ACTION_BLOCKED] AddOn 'WeakAuras' tried to call the protected function 'RaidGroupButton1:SetPoint()'.
!BugGrabber\BugGrabber.lua:519: in function <!BugGrabber\BugGrabber.lua:519>
[C]: in function `SetPoint'
Blizzard_RaidUI\Blizzard_RaidUI.lua:496: in function `RaidGroupFrame_Update'
FrameXML\RaidFrame.lua:121: in function `RaidFrame_Update'
FrameXML\RaidFrame.lua:60: in function `RaidFrame_OnEvent'
Blizzard_RaidUI\Blizzard_RaidUI.lua:169: in function <Blizzard_RaidUI\Blizzard_RaidUI.lua:168>

result is true, nil

commented

That's because it's not that RaidGroupButton1 gets tainted, but that while being in a tainted execution context Raid_UI.lua can't call SetPoint.

And Raid_UI.lua is in a tainted execution contex because it read a tainted value, which in that log was: the global: CompactRaidGroup2Member2

commented

As my repord got closed and linked here Ill repost what I found out so it doesnt get lost and hopefully fixed.

"
Date: 2020-08-03 20:49:08
ID: 2
Error occured in: AddOn: WeakAuras
Count: 16
Message: Note: AddOn WeakAuras attempted to call a protected function (XPerl_PlayerbuffFrameAuraButton1:ClearAllPoints()) during combat lockdown.
Debug:
[C]: ClearAllPoints()
..\FrameXML\SecureGroupHeaders.lua:753:
..\FrameXML\SecureGroupHeaders.lua:728
..\FrameXML\SecureGroupHeaders.lua:1046: SecureAuraHeader_Update()
..\FrameXML\SecureGroupHeaders.lua:686:
..\FrameXML\SecureGroupHeaders.lua:682.
"

"
Might be. I`m not in a group or raid though. I just logged in an used my shapeshift macro bear which puts you in combat for short time maybe because of /startattack . But this doesn’t seem to be the case, cat macro doesn’t put me in combat.

Bear
#showtooltip
/cancelaura Raubtierschläge
/cancelaura Rudelführer
/cancelform
/wirken Terrorbärengestalt(Gestaltwandel)
/anlegen Blutdurchnässte Maske
/startattack

Cat
#showtooltip
/cancelaura Raubtierschläge
/cancelaura Rudelführer
/cancelform
/wirken Katzengestalt(Gestaltwandel)
/startattack

So, here is the deal, did some testing. Cat macro works fine.
If I use bear macro I enter combat. BSCT (Blizzard Scrolling Combat Text) sexy entering battle. After a second I leave combat because of no enemy and instantly the error triggers. It seems to trigger when "Furor" removes.

BSCT:
Dire Bear Form
Leader of the Pack
Furor

Starting battle
Furor fades -> TRIGGER
Leaving battle

Hope it helps.
"

commented

Update,
installed latest weakaura update 2.18.1-classic: didn`t fix it.
Updates Z-Perl Unit frames to 5.9.8: No more problems. not sure if problem from the oter one who strated this post is fixed to.

commented

@mrbuds ping?

commented

It seems this issue is coming from an aura i use that edit the global RAID_CLASS_COLORS.SHAMAN, which taint Blizzard_RaidUI.lua