New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

7.2.5 taint error #191

Closed
jwensley2 opened this Issue Jun 21, 2017 · 12 comments

Comments

Projects
None yet
@jwensley2

jwensley2 commented Jun 21, 2017

I've been getting this error since 7.2.5.

Message: Interface\AddOns\OmniCC\settings\groups.lua:31: Attempt to access forbidden object from code tainted by an AddOn
Time: 06/20/17 21:42:58
Count: 687
Stack: Interface\AddOns\OmniCC\settings\groups.lua:31: Attempt to access forbidden object from code tainted by an AddOnInterface\SharedXML\SharedBasicControls.lua:204: in function <Interface\SharedXML\SharedBasicControls.lua:203>
[C]: ?
[C]: in function `GetParent'
Interface\AddOns\OmniCC\settings\groups.lua:31: in function `FindGroup'
Interface\AddOns\OmniCC\settings\groups.lua:23: in function `GetGroup'
Interface\AddOns\OmniCC\settings\groups.lua:12: in function `GetGroupSettingsFor'
Interface\AddOns\OmniCC\core\cooldown.lua:95: in function `UpdateAlpha'
Interface\AddOns\OmniCC\core\cooldown.lua:12: in function <Interface\AddOns\OmniCC\core\cooldown.lua:11>
[C]: in function `SetCooldown'
Interface\FrameXML\Cooldown.lua:5: in function `CooldownFrame_Set'
...e\AddOns\Blizzard_NamePlates\Blizzard_NamePlates.lua:522: in function `UpdateBuffs'
...e\AddOns\Blizzard_NamePlates\Blizzard_NamePlates.lua:159: in function `OnUnitAuraUpdate'
...e\AddOns\Blizzard_NamePlates\Blizzard_NamePlates.lua:53: in function <...e\AddOns\Blizzard_NamePlates\Blizzard_NamePlates.lua:35>

Locals: errorMessage = "Interface\AddOns\OmniCC\settings\groups.lua:31: Attempt to access forbidden object from code tainted by an AddOn"
DisplayMessageInternal = <function> defined @Interface\SharedXML\SharedBasicControls.lua:187
MESSAGE_TYPE_ERROR = 0
@Siory

This comment has been minimized.

Show comment
Hide comment
@Siory

Siory Jun 23, 2017

This happens as part of a change in 7.2.5 where dispellable debuffs are shown on friendly nameplates. In instances these frames are protected as of 7.2. Hopefully this helps in creating a work around for these errors.

Siory commented Jun 23, 2017

This happens as part of a change in 7.2.5 where dispellable debuffs are shown on friendly nameplates. In instances these frames are protected as of 7.2. Hopefully this helps in creating a work around for these errors.

@Venara

This comment has been minimized.

Show comment
Hide comment
@Venara

Venara Jun 23, 2017

This happens for me as well. In raids the error count quickly goes into the thousands.

I've noticed an unfortunate side effect: Eventually the timers on action buttons break completely and, when this happens, the related action bar buttons occasionally become completely unresponsive even when the (non displayed) cooldown is up. This is with Bartender.

A quick reload fixes this for a while but it's a really annoying bug. A quick solution would be most appreciated <3

Venara commented Jun 23, 2017

This happens for me as well. In raids the error count quickly goes into the thousands.

I've noticed an unfortunate side effect: Eventually the timers on action buttons break completely and, when this happens, the related action bar buttons occasionally become completely unresponsive even when the (non displayed) cooldown is up. This is with Bartender.

A quick reload fixes this for a while but it's a really annoying bug. A quick solution would be most appreciated <3

@talchas

This comment has been minimized.

Show comment
Hide comment
@talchas

talchas Jun 26, 2017

diff --git a/OmniCC/core/cooldown.lua b/OmniCC/core/cooldown.lua
index b9ab98b..3d6e078 100644
--- a/OmniCC/core/cooldown.lua
+++ b/OmniCC/core/cooldown.lua
@@ -7,8 +7,12 @@ local Cooldown = OmniCC:New('Cooldown')
 
 
 --[[ Control ]]--
+local banned = {}
 
 function Cooldown:Start(...)
+    if banned[self] then
+        return
+    end
        Cooldown.UpdateAlpha(self)
 
        if Cooldown.CanShow(self, ...) then
@@ -105,4 +109,20 @@ function Cooldown:ForAll(func, ...)
        for cooldown in pairs(OmniCC.Cache) do
                func(cooldown, ...)
        end
-end
\ No newline at end of file
+end
+
+local nameplateBuffFrames = {}
+function Cooldown:OnEvent(event, nameplate)
+    -- event == FORBIDDEN_NAME_PLATE_CREATED
+    nameplateBuffFrames[nameplate.UnitFrame.BuffFrame] = true
+end
+
+function Cooldown.CheckIfNameplateBuff(ty, name, parent, template)
+    if template == "NameplateBuffButtonTemplate" and nameplateBuffFrames[parent] then
+        banned[_G[name].Cooldown] = true
+    end
+end
+
+hooksecurefunc("CreateFrame", Cooldown.CheckIfNameplateBuff)
+Cooldown:SetScript("OnEvent", Cooldown.OnEvent)
+Cooldown:RegisterEvent("FORBIDDEN_NAME_PLATE_CREATED");

is a hack, and fixes the omnicc error, but won't fix the issue where it will break tooltips. That occurs because everything and their mother hooks tooltips expecting them to not be secure, but hovering over one of these debuffs has Owner be secure, and that breaks everything, often permanently somehow.

talchas commented Jun 26, 2017

diff --git a/OmniCC/core/cooldown.lua b/OmniCC/core/cooldown.lua
index b9ab98b..3d6e078 100644
--- a/OmniCC/core/cooldown.lua
+++ b/OmniCC/core/cooldown.lua
@@ -7,8 +7,12 @@ local Cooldown = OmniCC:New('Cooldown')
 
 
 --[[ Control ]]--
+local banned = {}
 
 function Cooldown:Start(...)
+    if banned[self] then
+        return
+    end
        Cooldown.UpdateAlpha(self)
 
        if Cooldown.CanShow(self, ...) then
@@ -105,4 +109,20 @@ function Cooldown:ForAll(func, ...)
        for cooldown in pairs(OmniCC.Cache) do
                func(cooldown, ...)
        end
-end
\ No newline at end of file
+end
+
+local nameplateBuffFrames = {}
+function Cooldown:OnEvent(event, nameplate)
+    -- event == FORBIDDEN_NAME_PLATE_CREATED
+    nameplateBuffFrames[nameplate.UnitFrame.BuffFrame] = true
+end
+
+function Cooldown.CheckIfNameplateBuff(ty, name, parent, template)
+    if template == "NameplateBuffButtonTemplate" and nameplateBuffFrames[parent] then
+        banned[_G[name].Cooldown] = true
+    end
+end
+
+hooksecurefunc("CreateFrame", Cooldown.CheckIfNameplateBuff)
+Cooldown:SetScript("OnEvent", Cooldown.OnEvent)
+Cooldown:RegisterEvent("FORBIDDEN_NAME_PLATE_CREATED");

is a hack, and fixes the omnicc error, but won't fix the issue where it will break tooltips. That occurs because everything and their mother hooks tooltips expecting them to not be secure, but hovering over one of these debuffs has Owner be secure, and that breaks everything, often permanently somehow.

@lfmnovaes

This comment has been minimized.

Show comment
Hide comment
@lfmnovaes

lfmnovaes Jul 11, 2017

I'm getting the same "Attempt to access forbidden object from code tainted by an AddOn" error since a while ago, checked every single addon and found out that OmniCC is the problem. :/
Hope we get a fix soon.

lfmnovaes commented Jul 11, 2017

I'm getting the same "Attempt to access forbidden object from code tainted by an AddOn" error since a while ago, checked every single addon and found out that OmniCC is the problem. :/
Hope we get a fix soon.

@Drovolon

This comment has been minimized.

Show comment
Hide comment
@Drovolon

Drovolon Aug 9, 2017

Disabling friendly nameplates (Shift-V by default) will mitigate the issue for now.

Drovolon commented Aug 9, 2017

Disabling friendly nameplates (Shift-V by default) will mitigate the issue for now.

@jediahcorn

This comment has been minimized.

Show comment
Hide comment
@jediahcorn

jediahcorn Aug 20, 2017

wowscrnshot_081817_142741

Bumping this post and including my screenshot. Is a fix possible? Thanks :D

jediahcorn commented Aug 20, 2017

wowscrnshot_081817_142741

Bumping this post and including my screenshot. Is a fix possible? Thanks :D

@sausje

This comment has been minimized.

Show comment
Hide comment
@sausje

sausje Sep 30, 2017

Same issue here, having KUI nameplates. Disabling friendly nameplates (shift+v) fixes it.

sausje commented Sep 30, 2017

Same issue here, having KUI nameplates. Disabling friendly nameplates (shift+v) fixes it.

@gitrulez

This comment has been minimized.

Show comment
Hide comment
@gitrulez

gitrulez Oct 30, 2017

Hi, what's the latest on this, can it not be fixed? With all the ground targeted heals we have to deal with, friendly nameplates are essential for healers. Thanks.

gitrulez commented Oct 30, 2017

Hi, what's the latest on this, can it not be fixed? With all the ground targeted heals we have to deal with, friendly nameplates are essential for healers. Thanks.

@hiddenhokage

This comment has been minimized.

Show comment
Hide comment
@hiddenhokage

hiddenhokage Nov 1, 2017

I'm getting this error too and it's giving me a lot of "you're experiencing too many errors" pop-ups. I can confirm this is happening when I have Friendly Nameplates enabled, specifically in instances. And I need to have them because I'm healing.

I'm also using Kui Nameplates but they don't work in instances anymore so I doubt that has anything to do with the error.

hiddenhokage commented Nov 1, 2017

I'm getting this error too and it's giving me a lot of "you're experiencing too many errors" pop-ups. I can confirm this is happening when I have Friendly Nameplates enabled, specifically in instances. And I need to have them because I'm healing.

I'm also using Kui Nameplates but they don't work in instances anymore so I doubt that has anything to do with the error.

@Genimal

This comment has been minimized.

Show comment
Hide comment
@Genimal

Genimal Dec 18, 2017

OmniCC was OK with this fix.

But I can't prevent errors when I'm hovering over debuff icons on friendly nameplates. "GameTooltip_SetDefaultAnchor" function itself causes taint errors. I've tried exception handling but it was no use. What I could do was only disabling debuff icons on friendly nameplates when I enter PVE instances.

local z = CreateFrame("FRAME")
z:RegisterEvent("PLAYER_ENTERING_WORLD")
z:SetScript("OnEvent", function()
local _,type=IsInInstance()
if type=="party" or type=="raid" then
SetCVar("nameplateShowDebuffsOnFriendly", 0)
else
SetCVar("nameplateShowDebuffsOnFriendly", 1)
end
z:UnregisterEvent("PLAYER_ENTERING_WORLD")
end)

Genimal commented Dec 18, 2017

OmniCC was OK with this fix.

But I can't prevent errors when I'm hovering over debuff icons on friendly nameplates. "GameTooltip_SetDefaultAnchor" function itself causes taint errors. I've tried exception handling but it was no use. What I could do was only disabling debuff icons on friendly nameplates when I enter PVE instances.

local z = CreateFrame("FRAME")
z:RegisterEvent("PLAYER_ENTERING_WORLD")
z:SetScript("OnEvent", function()
local _,type=IsInInstance()
if type=="party" or type=="raid" then
SetCVar("nameplateShowDebuffsOnFriendly", 0)
else
SetCVar("nameplateShowDebuffsOnFriendly", 1)
end
z:UnregisterEvent("PLAYER_ENTERING_WORLD")
end)

@Rathlord

This comment has been minimized.

Show comment
Hide comment
@Rathlord

Rathlord Feb 15, 2018

Sorry, did this ever get a fix? I'm still getting this issue...

Rathlord commented Feb 15, 2018

Sorry, did this ever get a fix? I'm still getting this issue...

@lfmnovaes

This comment has been minimized.

Show comment
Hide comment
@lfmnovaes

lfmnovaes Feb 16, 2018

Didn't test it yet, but seems the fix was released: 90af562

lfmnovaes commented Feb 16, 2018

Didn't test it yet, but seems the fix was released: 90af562

@Tuller Tuller closed this Jul 22, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment