Thread: strange error
View Single Post
08-23-19, 09:22 AM   #6
myrroddin
A Pyroguard Emberseer
 
myrroddin's Avatar
AddOn Author - Click to view addons
Join Date: Oct 2008
Posts: 1,240
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.
  1. Game UI doing its thing using a global frame, variable, whatever
  2. Addon1 taints the UI path because all addons cause taint –– they aren't secure like Blizzard's UI code
  3. Addon1 does something with the global mentioned in #1 that messes with the Blizzard UI but doesn't break it
  4. Taintlog notes the bad behaviour and begins tracking the cause, but it's too late –– Addon1 is finished doing bad things
  5. Addon2 runs code, any code, even unrelated to the global and because addons are tainted by default, the taintlog throws a fit
  6. 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 where 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.

https://wow.gamepedia.com/CVar_taintLog
  Reply With Quote