Interface action failed because of an AddOn

by Rubidium | 20/10/2007 11:07:08

Rubidium

I got this message once on the PTR with no addons installed

by Slouken | 20/10/2007 04:21:39

Slouken

So the way to interpret the log is this:

1. First look for a "blocked" message, note the AddOn that's listed there.
2. Search back for the last "Execution tainted" message, and it will probably have that AddOn listed.
3. See what variable was read to taint execution
4. Search back for a "Global variable" message involving that variable.
5. Look at the files and lines listed for each of these events.

If you want to post the results of those 5 steps here, you may.

You can also see if you can piece together why the taint was happening, and conjecture on what the best solution might be. :)

by Slouken | 20/10/2007 04:23:55

Slouken

You'll only get the "blocked" messages in combat, so the easiest way to test this is to go to a low level zone and let a weak creature attack you while you do things involving targeting, group changes, pet changes, etc.

Remember, taint by itself is fine, it only becomes a problem if it results in a "blocked" message.

by Slouken | 20/10/2007 14:44:15

Slouken


Q u o t e:
I got this message once on the PTR with no addons installed


Can you post the taint log? We should fix the Blizzard_FeedbackUI so it doesn't block actions. :)

Thanks!

by Slouken | 20/10/2007 14:48:07

Slouken


Q u o t e:
Posted for Maldavia:

Taint issues with UIDropDownMenu.

Taint log and steps to reproduce, see:
http://nerdheaven.dk/~the_real/taint.txt


Thanks, I've forwarded this to the engineer. We're aware of the fragility of the UI dropdown menus with regards to tainting, but fixing it involves a major rewrite of the dropdown system, and I don't think we'll have time for that in 2.3. It's definitely on our list though, and we'll keep this info for testing!

by Slouken | 20/10/2007 14:49:05

Slouken


Q u o t e:
Should this be stickied?

Edit: This looks informative. Just posting in case you forgot to sticky this :)


I had it stickied, but nobody was looking at it. :)

by Slouken | 24/10/2007 02:57:10

Slouken

Sure, I'll add that to my TODO list.

by Slouken | 29/10/2007 23:40:53

Slouken

This is fixed for 2.3 release, thanks!

From the engineer:
Moving UpdateMicroButtons to the end of SpellBookFrame_OnShow fixed the problem, as it was tainting SpellBookFrame_Update.

by Slouken | 31/10/2007 16:53:24

Slouken

From the engineer:
Using UIDropDownMenu_CreateInfo() should no longer cause taint issues to spread to other dropdowns.

by Slouken | 02/11/2007 06:33:14

Slouken

Can you post a link to your taint log?

by Slouken | 02/11/2007 20:53:33

Slouken

Yay! :)

by Slouken | 06/11/2007 16:02:10

Slouken

While on the test realm, you can just turn on the taint log and leave it on, and after you play a session where you get the message, you can copy the log out and post a link to it.

Once you turn on the taint log with /console taintLog 1, it will stay on across sessions until you turn it off with /console taintLog 0.

by Slouken | 07/11/2007 20:58:33

Slouken

Thanks for the log, that was very helpful.

We're working on a solution for durability frame replacements, but it won't make it for 2.3.

by Slouken | 09/11/2007 21:34:09

Slouken

Yep, here's the problem:
ActionButton_OnEvent = ActionButton_OnEventWrapper

This needs to use hooksecurefunc()

by Slouken | 09/11/2007 23:31:11

Slouken

You're welcome! :)

by Slouken | 12/11/2007 18:04:33

Slouken

We're looking into this, BTW.

by Slouken | 14/11/2007 23:13:13

Slouken


Q u o t e:
Good old Telos Infobar...say it ain't so!!

11/13 23:21:20.328 Global variable CloseAllWindows tainted by InfoBar - Interface\AddOns\InfoBar\InfoBar.lua:449 InfoBar_OnLoad()
11/13 23:21:20.328 InfoBarFrame:OnLoad()
11/13 23:21:20.328 Execution tainted by InfoBar while reading CloseAllWindows - Interface\FrameXML\UIParent.lua:310 UIParent_OnEvent()
11/13 23:21:20.328 UIParent:OnEvent()
11/13 23:21:20.328 An action was blocked in combat because of taint from InfoBar - UIParent:SetAttribute()
11/13 23:21:20.328 Interface\FrameXML\UIParent.lua:1469 UpdateUIPanelPositions()
11/13 23:21:20.328 Interface\FrameXML\UIParent.lua:1357 CloseWindows()
11/13 23:21:20.328 Interface\FrameXML\UIParent.lua:1383 lOriginalCloseAllWindows()
11/13 23:21:20.328 Interface\AddOns\InfoBar\InfoBar.lua:582 CloseAllWindows()
11/13 23:21:20.328 Interface\FrameXML\UIParent.lua:310 UIParent_OnEvent()
11/13 23:21:20.328 UIParent:OnEvent()
11/13 23:22:29.750 Global variable CloseAllWindows tainted by InfoBar - Interface\AddOns\InfoBar\InfoBar.lua:449 InfoBar_OnLoad()
11/13 23:22:29.750 InfoBarFrame:()
11/13 23:22:29.750 Execution tainted by InfoBar while reading CloseAllWindows - Interface\FrameXML\UIParent.lua:310 UIParent_OnEvent()
11/13 23:22:29.750 UIParent:OnEvent()
11/13 23:22:29.750 An action was blocked in combat because of taint from InfoBar - UIParent:SetAttribute()
11/13 23:22:29.750 Interface\FrameXML\UIParent.lua:1469 UpdateUIPanelPositions()
11/13 23:22:29.750 Interface\FrameXML\UIParent.lua:1357 CloseWindows()
11/13 23:22:29.750 Interface\FrameXML\UIParent.lua:1383 lOriginalCloseAllWindows()
11/13 23:22:29.750 Interface\AddOns\InfoBar\InfoBar.lua:582 CloseAllWindows()
11/13 23:22:29.750 Interface\FrameXML\UIParent.lua:310 UIParent_OnEvent()
11/13 23:22:29.750 UIParent:OnEvent()


From the engineer:
This addon is directly hooking CloseAllWindows, which taints the panel system.
Telo released a version that has his hook issue fixed:
http://forums.worldofwarcraft.com/thread.html?topicId=2968176809

by Slouken | 14/11/2007 23:13:57

Slouken


Q u o t e:
Get this with HolyHope mod. Its quite ancient, but I love the circular design and it saves me space by combining greater and lesser blessings. Don't really want to get rid of it.

11/14 00:53:50.630 Execution tainted by HolyHope while reading Cooldown22 - getglobal()
11/14 00:53:50.630 Interface\AddOns\HolyHope\HolyHope.lua:208 HolyHope_OnUpdate()
11/14 00:53:50.630 HolyHopeButton:OnUpdate()
11/14 00:53:50.630 An action was blocked in combat because of taint from HolyHope - HolyHopeRedemptionButton:Hide()
11/14 00:53:50.630 Interface\AddOns\HolyHope\HolyHope.lua:263 HolyHope_OnUpdate()
11/14 00:53:50.630 HolyHopeButton:OnUpdate()

It then repeats this about 100 times in the log. I see no other errors.


From the engineer:
HolyHope is no longer being updated. It’s trying to hide a button that casts a spell during combat, which is not allowed.

by Slouken | 14/11/2007 23:14:58

Slouken


Q u o t e:
here my taint.log

11/14 15:12:22.359 An action was blocked in combat because of taint from G15Buttons - objG15_btn_17:Show()
11/14 15:12:22.359 Interface\FrameXML\ActionButton.lua:198 ActionButton_Update()
11/14 15:12:22.359 Interface\FrameXML\ActionButton.lua:324 ActionButton_OnEvent()
11/14 15:12:22.359 Interface\AddOns\G15Buttons\Main.lua:269 onButtonEvent()
11/14 15:12:22.359 objG15_btn_17:OnEvent()
11/14 15:12:27.437 An action was blocked in combat because of taint from G15Buttons - objG15_btn_17:Show()
11/14 15:12:27.437 Interface\FrameXML\ActionButton.lua:198 ActionButton_Update()
11/14 15:12:27.437 Interface\FrameXML\ActionButton.lua:324 ActionButton_OnEvent()
11/14 15:12:27.437 Interface\AddOns\G15Buttons\Main.lua:269 onButtonEvent()
11/14 15:12:27.437 objG15_btn_17:OnEvent()



From the engineer:
G15Buttons is no longer being updated. The user’s mod is directly calling ActionButton_OnEvent which calls ActionButton_Update which attempts to show an action button in this tainted state, causing the error.
This AddOn should be using hooksecurefunc() to hook ActionButton_OnEvent()

by Slouken | 14/11/2007 23:15:44

Slouken

By the way, regulars, feel free to jump in and do this kind of analysis if you want. :)

by Slouken | 27/11/2007 01:29:38

Slouken

Could you post a link to the entire taint log?

Thanks!

by Slouken | 30/11/2007 00:38:58

Slouken

I believe the world frame is protected and can't be moved in combat. Why is Comix trying to move it?

by Slouken | 30/11/2007 23:43:08

Slouken

Taint from UIParent_ManageFramePositions() should largely be gone in 2.3.2, FYI.

by Slouken | 30/11/2007 23:49:47

Slouken

No, I'm hoping that most of the frame positioning taint issues will be taken care of in 2.3.2. Based on the taint logs being posted, it looks like this will be the case.

Of course please feel free to play on the Test Realm and let us know of any issues you find!

by Slouken | 07/12/2007 23:40:09

Slouken


Q u o t e:
Hi Slouken,

It's annoying that cannot toggle worldmap in combat. Is there any solution?

Once I begins a combat then input /script ToggleWorldMap(), UI always get a taint error that tell me the action was blocked.

here is taint log:

12/7 14:01:46.187 An action was blocked in combat because of taint from MACRO_TAINT - UIParent:Show()
12/7 14:01:46.187 Interface\FrameXML\UIParent.lua:1140 SetUIPanel()
12/7 14:01:46.187 Interface\FrameXML\UIParent.lua:1078
12/7 14:01:46.187 HideUIPanel()
12/7 14:01:46.187 Interface\FrameXML\WorldMapFrame.lua:661 ToggleWorldMap()
12/7 14:01:46.187 TOGGLEWORLDMAP:1
12/7 14:01:46.187 RunBinding()
12/7 14:01:46.187 WorldMapFrame:OnKeyDown()

actually, I have an addon which can show worldmap from script. In case worldmap is shown from my addon, if I get a combat from mob afterward, the whole UIParent will not be shown because UIParent:Hide() aciton has been blocked.

Thanks


This should be fixed for 2.3.2.

by Zootfizzle | 12/12/2007 18:55:11

Zootfizzle


Q u o t e:
NOT in comabat and may or may not be related.

with my ArkInventory mod, if you open the bags and then walk, split a stack, click on ok (or press enter) you can't drop the split portion until you stop moving. (no errors are triggered)

the other half of this is if you split a stack first (but dont select an amount) and then start walking, as soon as you click on ok (or press enter) to close the partial stack window and pickup a partial stack, you get the restricted action warning and you cant stop walking until you hit your walk key again

Arkayenro,

This should be fixed for patch 2.4. Thanks for posting your taint log!

by Slouken | 21/12/2007 00:15:10

Slouken


Q u o t e:

There's still an un-wrapped call in Bindings.xml for the TOGGLEUI binding.


Ah, got it, thanks! This is fixed for 2.3.3.

Bump! Recently Bumped Threads

 

Blizzard Announcement Recent Blizzard Announcements

 

We suggest