View Single Post
08-23-19, 09:22 AM
A Pyroguard Emberseer
Join Date: Oct 2008
As Rilgamon mentioned, the taintlog blames the currently running addon, which is almost never accurate. The example below is extremely rough, and is intended to be as simple as possible to get the point across.
Game UI doing its thing using a global frame, variable, whatever
Addon1 taints the UI path because all addons cause taint –– they aren't secure like Blizzard's UI code
Addon1 does something with the global mentioned in #1 that messes with the Blizzard UI but doesn't break it
Taintlog notes the bad behaviour and begins tracking the cause, but it's too late –– Addon1 is finished doing bad things
Addon2 runs code, any code, even unrelated to the global and because addons are tainted by default, the taintlog throws a fit
You get the error message [ADDON_ACTION_BLOCKED] blaming Addon2 because that was the last code ran
Keep in mind that Lua is a single thread language. That means Lua processes one command and then a second, then a third from a queue. It is not multi-threaded and cannot process two or more commands at the same time, which is another factor why the second addon gets the blame, even for something it had nothing to do with.
What you can do: turn on deeper taintlog tracking using
/console taintLog setting
is a number between 0-2. The downside is that doing so will drastically slow down the game and drop frames while the game crunches through all that data.
View Public Profile
Send a private message to myrroddin
Visit myrroddin's homepage!
Find More Posts by myrroddin