Dominos

Dominos

19M Downloads

Massive amount of protected function calling

Opened this issue ยท 27 comments

commented

This seems to happen whenever I melee a mob. Given that the root is in FrameXML, it must be some trigger of Blizzard's doing. However, it seems to be blaming protected calls on Dominos, and I don't know why. Perhaps you would have a better guess than me. The exact code that is causing this is http://wow.go-hero.net/framexml/15005/ActionButton.lua#231 (FrameXML/ActionButton.lua)

It happens for DominosActionButton[1-60], VehicleMenuBarActionButton[1-6], BonusActionButton[1-12], MultiCastActionButton[1-12], and MultiBarLeftButton[11-12]. I'm guessing it affected every single action button, though.

Sometimes it comes from FrameXML\ActionButton.lua:259 (:Hide()), and sometimes from FrameXML\ActionButton.lua:246 (:Show())

3x [ADDON_ACTION_BLOCKED] AddOn "Dominos" tried to call the protected function "DominosActionButton60:Hide()".
!BugGrabber-r181\BugGrabber.lua:338: in function <!BugGrabber\BugGrabber.lua:312>
!BugGrabber-r181\BugGrabber.lua:538: in function "?"
!BugGrabber-r181\BugGrabber.lua:541: in function <!BugGrabber\BugGrabber.lua:541>

FrameXML\ActionButton.lua:259: in function "ActionButton_Update"
FrameXML\ActionButton.lua:484: in function "ActionButton_OnEvent"
FrameXML\ActionButton.lua:105: in function <FrameXML\ActionButton.lua:98>

Locals:
nil

commented

Just looked at ActionButton.lua and saw that the stack is coming from the event handle for PLAYER_ENTERING_WORLD and UPDATE_SHAPESHIFT_FORM. Neither of these make sense, because I am a hunter, not a druid, and I most certainly wasn't ENTERING_WORLD when this happened, but looking at an event trace, it came from a UPDATE_SHAPESHIFT_FORM, which is strange that that would fire at all for a hunter. Nonetheless, there is something strange going on here.

commented

IIRC UPDATE_SHAPESHIFT_FORM is used to report Aspect-related changes (because of the aspect bar is handled ny the same code than the shapeshift form bar).

Anyway I have got the same issue but the client was blaming ACP, i.e. Addon Control Panel, that surely does nothing to any action button. I am not sure what happens there but it looks like some client bug.

commented

Maybe it's one of the library that is tainting something.

In my case, LibInternalCooldowns-1.0 gets blame. ex.

12/3 11:41:11.921 An action was blocked in combat because of taint from LibInternalCooldowns-1.0 - DominosActionButton1:Hide()
12/3 11:41:11.921 Interface\FrameXML\ActionButton.lua:259
12/3 11:41:11.921 ActionButton_Update()
12/3 11:41:11.921 Interface\FrameXML\ActionButton.lua:484 ActionButton_OnEvent()
12/3 11:41:11.921 Interface\FrameXML\ActionButton.lua:105

commented
commented

I did make a couple of adjustments in the latest version to remove some taint, did that happen to help any?

commented

Still happenning with 4.3.3.

However, I am starting to thinking like laotseu: I disabled LibInternalCooldowns-1.0 and these errors stopped to happen. LibInternalCooldowns-1.0 is raw-hooking GetActionCooldown, it is possible it eventually taints the rest of the button.

commented

For the record, I also removed LibInternalCooldown from my setup and I'm no longer experimenting the taint bug.

I'm at the office so I can't verify but I update to the latest alpha on Curse everyday.

commented

I don't have Lib-ICD installed or embedded with anything, but I will do some searching and see if i can figure out what else might be tainting.

commented

Check in your taint.log for " An action was blocked in combat because of taint from" lines and mention of Dominos, that should tel you what was causing the taint. LibICD might not be the only one misbehaving.

commented

taint.log is only giving me what BugGrabber was able to give me:

12/6 16:36:03.973 An action was blocked in combat because of taint from Dominos - BonusActionButton7:Show()
12/6 16:36:03.973 Interface\FrameXML\ActionButton.lua:246 ActionButton_Update()
12/6 16:36:03.973 Interface\FrameXML\ActionButton.lua:484 ActionButton_OnEvent()
12/6 16:36:03.973 Interface\FrameXML\ActionButton.lua:105

commented

I've now disabled every single addon except Dominos and I am still getting taint. I'm really not sure what the problem is now at all.

commented

Is that the exact taint you're getting? Because if so, I don't actually use the BonusActionButtons

commented

Yeah, it is. But is occurring for more than just the BonusActionButtons. Here is my taint.log after logging in and hitting a training dummy on my hunter: http://pastebin.com/7WqDkbRP

My saved variables, for fun: http://pastebin.com/j3CCDkhZ

commented

I this may be the function causing issues... It's one of the few instances where the default code could hide the buttons. There may be a few others. http://wow.go-hero.net/framexml/15005/ActionButton.lua#231

commented

On the other hand, one of Inline Aura tester had this kind of error using Inline Aura alone... This just seems to be a random taint error.

commented

I keep getting spammed by Dominos :Show/:Hide spam, too.
12/14 18:20:52.650 An action was blocked in combat because of taint from Dominos - MultiCastActionButton3:Hide() 12/14 18:20:52.650 Interface\FrameXML\ActionButton.lua:259 12/14 18:20:52.650 ActionButton_Update() 12/14 18:20:52.650 Interface\FrameXML\ActionButton.lua:484 ActionButton_OnEvent() 12/14 18:20:52.650 Interface\FrameXML\ActionButton.lua:105

This happens to many many action buttons and fills the taint.log easily with hundreds of lines (no kidding!) :( It seems Blizzard messed up big time now as quite a few addons have these issues. Among them BasicChatmods and Altoholic which both have tickets regarding this issue already.
One possible theory is UIDropDownMenu creating taints and carrying them further than expected, but I suppose there's other "leaks" as well >.<

commented

I would bet its the new action button event registration stuff.

commented

It's hard to point to one reason in particular. I got rid of LibInternalCooldown and it helped but then Altaholic started to give me the issue when raiding--mostly with Shadowded Unit Frame, not Dominos. I'va hacked my local copy of Altaholic to replace all the hooks with secure hooks and I no longer have the issue.

My guess at this point is tha some functions that are wildly hook to are now use by the unit frame somewhere causing the taint. I'm looking at you, GameTooltip!

Anyways, those are just guesses and observation so far.

commented

Laotseu, if you would post your changes to Altoholic, that might also help (though not Dominos, but many users) - http://wow.curseforge.com/addons/altoholic/tickets/498-the-long-standing-taint-issue/.

commented

I think it has something to do with secure frames. Even my own unit-frames addon get's this issue. And since both eht unit-frames addon and Dominos use secure frames to build stuff, I'm pretty sure it's something to do with the secure frame template...

commented

I had every intention to post the Altaholic hack but I didn't have time to do so before going away for the hollidays. I'll be back home January 6, you can expect the post at that time.

commented

After modifying one of my addons to no longer use the "ActionBarButtonCodeTemplate", I've not had this issue with it. I'm thinking the taint leak somehow involves the template.

commented

So is this still an issue? I don't think I've reproduced it in the beta.

commented

Hey,

I can't tell you if it is as I'm on a Mac ... And unfortunately, Blizzard messed things up so hardly any addon works properly on Mac pandaria beta :(

Am 08.07.2012 um 21:23 schrieb Jason Greer:

So is this still an issue? I don't think I've reproduced it in the beta.


Reply to this email directly or view it on GitHub:
#79 (comment)

commented

I've not had this issue on live in a very long time. I believe it was something Blizzard bugged up, and has since corrected.

commented

Well then I'd suggest closing this issue, and if it happens again I'll reopen it.
Thanks for caring :)

Am 08.07.2012 um 22:56 schrieb Goranaws:

I've not had this issue on live in a very long time. I believe it was something Blizzard bugged up, and has since corrected.


Reply to this email directly or view it on GitHub:
#79 (comment)

commented

hurray :)