Taint and ADDON_ACTION_BLOCKED - arkayenro/arkinventory GitHub Wiki
Taint and ADDON_ACTION_BLOCKED
Taint is normal and expected, every variable an author adds to the global namespace is tainted, its only when you overwrite a blizzard global, or a blizzard function uses one of your (tainted) variables, that you end up with taint that causes issues.
ArkInventory is an Ace3 based mod and uses several of its shared libraries.
As ArkInventory is typically the first mod to load those libraries (mods are loaded in alphabetical order) it gets tagged as the "owner" of them.
When a mod overwrites and taints one of the blizzard globals that taint then spreads through the shared libraries into every other mod that is using them and when one eventually tries to access something that is secured the taint causes an error which will blame ArkInventory (as the owner of the shared libraries).
What you can do to diagnose which mod was the actual cause of the taint is listed below;
Procedure
- start wow
- enter the following on the chat line (copy and paste it)
/console taintLog 1
- exit wow
- start wow
- play until you get the error
- quit wow
- move (or copy) the
...\World of Warcraft\_client_\Logs\taint.log
file to a safe location
note: the log files are overwritten at each game load so if you dont do this step then the file you upload wont contain the error
- start wow
- enter the following on the chat line (copy and paste it)
/console taintLog 0
- exit wow
- check the taint.log file (the one in the safe location) and find the error
- work backwards to find where the taint started
- if you can find it then report it to the author of that mod
- if you cant find it then submit the file in a ticket (don't expect a quick response because they aren't fun reading) - make sure you also include the error or i wont know what to look for
note: there is a more detailed level of taint logging (2), you may be asked to provide another (much more detailed taint log) after enabling that, if i cant figure out where its coming from in the basic taint log.
please dont set it to 2 unless asked, i dont want to look through level 2 logs unless i absolutely have to. if you want to look through them youself, then go for it.
You can read the log yourself or you can create an issue and attach the log to it.
What you are looking for is the error at the end of the file, the variable that was tainted that caused the error, then go to the start of the file and see which mod actually tainted it first. Sometimes it can be a chain of taint and it can take a bit of work to track it down but it can be done.
The usual cause is UIDROPDOWN variables, or nameplates in dungeons/raids, but occasionally an author will forget to make a variable local (been there, done that) and end up stomping on a blizzard global and tainting it.