Is taint an issue with CompactRaidFrame1?

85 Tauren Druid
6765
Message: [ADDON_ACTION_BLOCKED] AddOn "Foo" tried to call the protected function "CompactRaidFrame1:Show()".


Got this - which means the taint is coming from Blizz UI code. First: Why is CompactRaidFrame1 involved when I do not touch it? Second: How is the Blizz code managing to taint itself without my intervention?
Reply Quote
85 Tauren Druid
6765
OK, I went to the bugs forum and found this - but its 5 days old, and its not Blue posted nor is it on the list of "known issues"

Here is a test function I found posted by "Dargen" that shows the bug - basically the CompactRaidFrame initiall creates as untainted, but without any other user actions other than and then running completely normal "legal" non-tainted calls in non-tainted code, the Blizz UI piece taints itself.

hooksecurefunc("CreateFrame", function (frameType, frameName)
-- This detects when CompactRaidFrame1 gets created
-- and then displays the secure status of the frame.
if (frameName == "CompactRaidFrame1") then
print(frameName, "has just been created.");
local secure, addon = issecurevariable(_G, frameName);
if (not secure) then
print(frameName, "is tainted by", addon);
else
print(frameName, "is secure.");
end
end
end);

local function MyTest_DropDown_Initialize(self, level)
-- Adding 7 buttons does not cause CompactRaidFrame1 to
-- become tainted when it gets created.
-- Adding 8 buttons does cause CompactRaidFrame1 to
-- become tainted when it gets created.
-- UIDropDownMenu.lua defines UIDROPDOWNMENU_MINBUTTONS as 8.
for i = 1, UIDROPDOWNMENU_MINBUTTONS do
local info = UIDropDownMenu_CreateInfo();
info.text = "item" .. i;
info.value = "item" .. i;
info.func = function() end;
print("Adding button", i, "to the dropdown menu.");
UIDropDownMenu_AddButton(info);
end
end

local myframe = CreateFrame("Frame", "MyTest_Frame");
local dropdown = CreateFrame("Frame", "MyTest_DropDown", myframe, "UIDropDownMenuTemplate");
UIDropDownMenu_Initialize(dropdown, MyTest_DropDown_Initialize, "MENU");
Reply Quote
85 Tauren Druid
6765
Anyone know if Blizz has addressed this or even knows about it?
Reply Quote
86 Gnome Priest
6005
09/19/2012 11:49 PMPosted by Murdabenne
Anyone know if Blizz has addressed this or even knows about it?


They probably know about it, though it wouldn't be a bad idea to report it none the less.
Reply Quote
100 Goblin Warrior
2750
Has there been any acknowledgment of this by Blizz - that their code is causing the spreading taint issue?
Reply Quote
I'm seeing this sort of thing randomly in multiple addons. So this is a problem with Blizzard's code?
Reply Quote
Any acknowledgment from Blizz? Or should we just file a ticket in-game every day?
Reply Quote
100 Draenei Shaman
13645
Any acknowledgment from Blizz? Or should we just file a ticket in-game every day?


They already know. Fixing this requires a client patch. Submitting a ticket every day is a waste of both yours and the Customer Service department's time.
Reply Quote
85 Tauren Druid
6765
They already know? Its been a month and no signs of them acknowledging this that I have seen. This massive tainting issue is thier bug and its really annoying that they are either ignoring it or simply don't care. MoP looks like it was rushed into production with an inordinate number of defects.
Reply Quote
100 Gnome Warrior
12795
What's fun is every addon that adds to the interface options panel taints the dropdowns, action bars and raid frames.

1. Disable all addons. All of them.
2. /console taintLog 1
3. /reload
4. Copy-paste this to chat:

/run local frame=CreateFrame("Frame","TaintTest") frame.name="Taint Test" InterfaceOptions_AddCategory(frame)

5. Go enter combat. I recommend using a target dummy and just auto attacking for a more pure test. (/run and /script macros have the same taint potential as addons)
6. While in combat hit ESC->Interface
7. Close the window
8. BAM! You've just added 8k to your taint.log. The major events in the log are:

10/16 23:58:15.932 Global variable UIDROPDOWNMENU_MENU_LEVEL tainted by MACRO_TAINT - Interface\FrameXML\UIDropDownMenu.lua:38
10/16 23:58:15.932 Execution tainted by MACRO_TAINT while reading UIDROPDOWNMENU_MENU_LEVEL - Interface\FrameXML\UIDropDownMenu.lua:656 UIDropDownMenu_GetSelectedID()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomLeft:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomRight:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarRight:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarLeft:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomLeft:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomRight:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarRight:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarLeft:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomLeft:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomRight:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarRight:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarLeft:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomLeft:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomRight:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarRight:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarLeft:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomLeft:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomRight:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarRight:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarLeft:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomRightButton7:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarRightButton10:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomLeft:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarBottomRight:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarRight:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - MultiBarLeft:Hide()
10/16 23:58:15.932 Global variable UIDROPDOWNMENU_MENU_LEVEL tainted by MACRO_TAINT - Interface\FrameXML\UIDropDownMenu.lua:38
10/16 23:58:15.932 Execution tainted by MACRO_TAINT while reading UIDROPDOWNMENU_MENU_LEVEL - Interface\FrameXML\UIDropDownMenu.lua:656 UIDropDownMenu_GetSelectedID()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrameContainer:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrameManagerContainerResizeFrame:Hide()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrame1:ClearAllPoints()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrame1:SetPoint()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrame1:ClearAllPoints()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrame1:SetPoint()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrame1:SetSize()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrame1:Show()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrameManagerContainerResizeFrame:ClearAllPoints()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrameManagerContainerResizeFrame:SetHeight()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrameManagerContainerResizeFrame:SetPoint()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrameContainer:SetHeight()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrame1:ClearAllPoints()
10/16 23:58:15.932 An action was blocked in combat because of taint from MACRO_TAINT - CompactRaidFrame1:SetPoint()
Edited by Ro on 10/16/2012 10:59 PM PDT
Reply Quote
85 Tauren Druid
6765
Still no acknowledgment on the UI forum or the bugs form, and its not listed in the "known issues" for the latest update.
Reply Quote
I'm seeing this a lot with Addon Control Panel, and it's been reported with most other addon management addons as well.
Reply Quote
91 Night Elf Druid
11050
What's the easiest way to actually get an interface error popup after that?

What's fun is every addon that adds to the interface options panel taints the dropdowns, action bars and raid frames.

1. Disable all addons. All of them.
2. /console taintLog 1
3. /reload
4. Copy-paste this to chat:

/run local frame=CreateFrame("Frame","TaintTest") frame.name="Taint Test" InterfaceOptions_AddCategory(frame)

5. Go enter combat. I recommend using a target dummy and just auto attacking for a more pure test. (/run and /script macros have the same taint potential as addons)
6. While in combat hit ESC->Interface
7. Close the window
8. BAM! You've just added 8k to your taint.log. The major events in the log are:
Reply Quote
100 Gnome Warrior
12795
Inviting people to a group/raid while in combat is an easy one to verify. The frames are messed up and they won't update.
Reply Quote
91 Night Elf Druid
5320
Well, here we are 3 months later and this still seems to be an issue. Has there been any movement / acknowledgement of this anywhere and I've just missed it?
Reply Quote
90 Troll Warlock
9070
Nope, the problem still exists. I still get these errors to this date.
Reply Quote
90 Undead Priest
10710
Nope, the problem still exists. I still get these errors to this date.


Ditto.
Reply Quote
92 Tauren Death Knight
7695
problem still happening today. not even an acknowledgement from a blue after 9+ months

that's just insulting
Reply Quote
100 Tauren Druid
9105
What's the specific taint/taint error? I believe the AddCategory one should have been fixed with 5.3.
Reply Quote
100 Gnome Warrior
12795
The AddCategory one is still around. The specific cause of taint is the cancelling of the options panel while in combat:

http://us.battle.net/wow/en/forum/topic/8569857326#5
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Reason
Explain (256 characters max)
Submit Cancel

Reported!

[Close]