647 - Taints in combat
What steps will reproduce the problem?
1. Simply have this running in a 5-man party or a raid (10-man) when combat is entered. Or else open the world map in combat when solo.
What is the expected output? What do you see instead?
Expected: no issues.
Instead: through three weeks since WoW 4.2 was released and many hours of rigorous testing, AtlasLoot looks like its triggering tainting in combat.
What version of the product are you using?
v6.04.03
Do you have an error log of what happened?
From taint.log (doesn't specify AtlasLoot, but there is more discussion below):
7/15 09:30:00.562 An action was blocked in combat because of taint from Ace3 - CompactRaidFrame5:SetAttribute() 7/15 09:30:00.562 Interface\FrameXML\CompactUnitFrame.lua:124 CompactUnitFrame_SetUnit() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:316 CompactRaidFrameContainer_AddUnitFrame() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:255 CompactRaidFrameContainer_AddPlayers() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:177 CompactRaidFrameContainer_LayoutFrames() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:131 CompactRaidFrameContainer_TryUpdate() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:58 CompactRaidFrameContainer_OnEvent() 7/15 09:30:00.562 CompactRaidFrameContainer:OnEvent() 7/15 09:30:00.562 An action was blocked in combat because of taint from Ace3 - CompactRaidFrame5:Show() 7/15 09:30:00.562 Interface\FrameXML\CompactUnitFrame.lua:260 CompactUnitFrame_UpateVisible() 7/15 09:30:00.562 Interface\FrameXML\CompactUnitFrame.lua:220 CompactUnitFrame_UpdateAll() 7/15 09:30:00.562 Interface\FrameXML\CompactUnitFrame.lua:130 CompactUnitFrame_SetUnit() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:316 CompactRaidFrameContainer_AddUnitFrame() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:255 CompactRaidFrameContainer_AddPlayers() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:177 CompactRaidFrameContainer_LayoutFrames() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:131 CompactRaidFrameContainer_TryUpdate() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:58 CompactRaidFrameContainer_OnEvent() 7/15 09:30:00.562 CompactRaidFrameContainer:OnEvent() 7/15 09:30:00.562 An action was blocked in combat because of taint from Ace3 - CompactRaidFrame3:SetAttribute() 7/15 09:30:00.562 Interface\FrameXML\CompactUnitFrame.lua:124 CompactUnitFrame_SetUnit() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:316 CompactRaidFrameContainer_AddUnitFrame() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:255 CompactRaidFrameContainer_AddPlayers() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:177 CompactRaidFrameContainer_LayoutFrames() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:131 CompactRaidFrameContainer_TryUpdate() 7/15 09:30:00.562 Interface\AddOns\Blizzard_CompactRaidFrames\Blizzard_CompactRaidFrameContainer.lua:58 CompactRaidFrameContainer_OnEvent() 7/15 09:30:00.562 CompactRaidFrameContainer:OnEvent()
From BugSack/BugGrabber on occasion in a party or raid (in this example, it happened at the same time as the above taint):
["message"] = "CreateFrame: Can't create 'Button' now:\n<in C code>: ?\n<in C code>: in function `CreateFrame'\n...actRaidFrames\\Blizzard_CompactRaidFrameContainer.lua:343: in function `CompactRaidFrameContainer_GetUnitFrame':\n...actRaidFrames\\Blizzard_CompactRaidFrameContainer.lua:315: in function `CompactRaidFrameContainer_AddUnitFrame':\n...actRaidFrames\\Blizzard_CompactRaidFrameContainer.lua:278: in function `CompactRaidFrameContainer_AddPets':\n...actRaidFrames\\Blizzard_CompactRaidFrameContainer.lua:183: in function `CompactRaidFrameContainer_LayoutFrames':\n...actRaidFrames\\Blizzard_CompactRaidFrameContainer.lua:131: in function `CompactRaidFrameContainer_TryUpdate':\n...actRaidFrames\\Blizzard_CompactRaidFrameContainer.lua:58: in function `CompactRaidFrameContainer_OnEvent':\n<string>:\"*:OnEvent\":1: in function <[string \"*:OnEvent\"]:1>\n", ["type"] = "error", ["time"] = "2011/07/15 09:30:00", ["locals"] = { "(*temporary) = \"Button\"\n(*temporary) = \"CompactRaidFrame7\"\n(*temporary) = CompactRaidFrameContainer {\n unitFrameUnusedFunc = <function> defined @Interface\\AddOns\\Blizzard_CompactRaidFrames\\Blizzard_CompactRaidFrameContainer.lua:47\n flowSortFunc = <function> defined @Interface\\AddOns\\Blizzard_CompactRaidFrames\\Blizzard_CompactRaidFrameManager.lua:678\n groupMode = \"flush\"\n raidUnits = <table> {\n }\n frameUpdateList = <table> {\n }\n flowOrientation = \"vertical\"\n showBorder = true\n borderFrame = CompactRaidFrameContainerBorderFrame {\n }\n flowFilterFunc = <function> defined @Interface\\AddOns\\Blizzard_CompactRaidFrames\\Blizzard_CompactRaidFrameManager.lua:746\n groupFilterFunc = <function> defined @Interface\\AddOns\\Blizzard_CompactRaidFrames\\Blizzard_CompactRaidFrameManager.lua:776\n partyUnits = <table> {\n }\n flowMaxPrimaryUsed = 104.00000417233\n flowMaxSecondaryUsed = 308.00007361174\n units = <table> {\n }\n flowPauseUpdates = true\n frameReservations = <table> {\n }\n flowFrame", -- [1] "s = <table> {\n }\n 0 = <userdata>\n displayPets = true\n displayFlaggedMembers = true\n}\n(*temporary) = \"CompactUnitFrameTemplate\"\n", -- [2] }, ["session"] = 3300, ["counter"] = 6, }, -- [1000]
Please provide any additional information below.
How was AtlasLoot singled out as the culprit? As noted above, many hours of extensive testing. First thing done when tainting started soon after 4.2 hit was to disable any third-party mod that called or tried to hide the CompactRaidFrame. It still happened. Next, a painstaking process of disabling mods 1/2 at a time, then one by one with before-and-after combat situations. Entered combat solo pulling up the world map (the only time taint has occurred solo), or in various parties until one mod remained that continued to trigger the tainting. The Last Mod Standing: AtlasLoot.
The test conclusion has been reproduced at least 30 times in various situations. With a stable other-mod load, when AtlasLoot is active (without Atlas or any other third-party addition to it), taint always happens. When its disabled (with other mods still active), taint no longer happens.
Other mods not calling the CompactRaidFrame have also been found to taint in similar situations (pulling up the world map in combat solo or at any combat time in parties/raids) in 4.2. Once they had all been disabled, AtlasLoot was the only one left triggering it consistently.
| User | When | Change |
|---|---|---|
| Zidomo | Jul 16, 2011 at 21:39 UTC | Create |
- 4 comments
- 4 comments
Facts
- Reported
- Jul 16, 2011
- Status
- New - Issue has not had initial review yet.
- Type
- Defect - A shortcoming, fault, or imperfection
- Priority
- Medium - Normal priority.
- Votes
- 0
- Reply
- #4
Zidomo Aug 20, 2011 at 16:34 UTC - 0 likesSorry for the reply delay.
The small-number-of-people-experiencing-it possible reasons:
1) They don't have taint.log writing turned on and/or know how to deal with it (/console taintlog 1 to turn it on, file is located in \World of Warcraft\Logs\ (in Windows) after exiting when taint occurs).
2) They are running different combinations of UI mods from people to whom it does happen, even if the same circumstances are duplicated (it happens only combat in an instance/raid, etc.).
If the problem happened randomly (as in not all the time), more reasons would be possible. But as it happens 100% of the time here when AtlasLoot is active (including with the just tested alpha 3522) and never when its inactive, the possible reasons are reduced.
Thanks for the reply and hope the problem can be found/fixed.
- Reply
- #3
Hegarol Jul 17, 2011 at 18:50 UTC - 0 likesThank you for your intensive testing. Its really appreciated. I still have no idea what could be causing this. We will look into it though. With your testing experience whats your opinion on why this bug only happens for a very number of people? I personally never had any message like that for AtlasLoot. Got it for Recount and other addons but not for AtlasLoot.
Project Lead Atlasloot
http://twitter.com/Atlasloot
http://www.atlasloot.net
- Reply
- #2
Zidomo Jul 17, 2011 at 17:19 UTC - 0 likesHate to disagree, but it is in fact caused by either AtlasLoot or the way it uses the Ace3 libraries with certain other mods present. I waited 3 weeks and repeated the tests extensively before reporting. Suspect the way this uses tooltips might have something to do with it. The Use the standard GameTooltip instead of the custom AtlasLoot tooltip option was not enabled on any of the tests done. The mod profiles & AtlasLoot options on the two characters tested were always the same.
Yes, have seen this same behavior from other addons, including several that don't hook into the RaidFrame. As noted above, there was a list of mod triggers that I went through one by one until AtlasLoot was the last one left that was active when the tainting happened. None of the other trigger addons were running on the last series of tests done. Have been able to repeat this behavior in the above listed circumstances 100% of the time with AtlasLoot active in combination with two different particular mod loads (and versions) on two different characters. Disable AtlasLoot while keeping the mod loads identical, the tainting never happens. Re-enable it with the same mod load, it reoccurs 100% of the time.
Same sort of thing as when taint was first visible after WoW 2.0/Burning Crusade hit. As a result of that experience and dealing with the fallout, I make sure the behavior is reproducible (on this end) before reporting.
Note again it may not be AtlasLoot itself; it may be the way it uses particular Ace3 libraries in combination with other mods that alone do not taint either. However, due to the problem's 100% reproducibility here with AtlasLoot active and its 100% elimination when AtlasLoot alone is disabled, am confident that some part of it/its interactions with other mods/libraries is the problem trigger.
- Reply
- #1
Hegarol Jul 17, 2011 at 00:23 UTC - 0 likesAtlasLoot does not hook into the Raid Frame. This is an error that can be "caused" by many other addons. Basically its a bug on Blizzard's end and has nothing to do with AtlasLoot.