TellMeWhen

TellMeWhen

24M Downloads

[CF 1410] TMW's use of clearallpoints()

tmw-issue-import opened this issue ยท 4 comments

commented

I have been having odd lua errors randomly that were the result of addon tainting. The error would always be along the lines of

 

<addon> tried to call the protected function '<unnamed>:ClearAllPoints()'

 

It lead me to scan all content within my addons I am using. the only addon I found that uses the call ClearAllPoints() is TellMeWhen. While it is entirely possible that Blizzard has created an unstable function with their world map changes I wanted to bring up that I do have a concern about the use of clearing points in tellmewhen ad how it can and often clears while in combat.

 

Locations where ClearAllPoints is used

 

TellMeWhen.xml line 36 and 37

                    self.borderTop:ClearAllPoints()
                    self.borderBottom:ClearAllPoints()

 

GroupConfig.xml line 262

                  self:ClearAllPoints()

 433

                GroupSelect:ClearAllPoints()

 

Components\IconModules\IconModule_TimerBar_OverlayConfig.xml line 45

                        self.text:ClearAllPoints()

 

IconModules\IconModule_TimerBar_BarDisplay\Config.xml line 28

                        self.text:ClearAllPoints()

 

Components\IconModules\IconModule_PowerBar_Overlay\Config.xml line 44

                        self.text:ClearAllPoints()

 

Components\Core\Conditions\\Config.xml line 586

                                self.Plus:ClearAllPoints()

line 588

                                self.Plus2:ClearAllPoints()

 


Posted by CurseForge user transitbus | Imported from CurseForge issue #1410 | Raw

commented

As I get more information or if I can get a taint log and rule out better TMW I will close this if I can prove without doubt that these are contributing to tainting but as this is the only addon I run that calls this, I have to report that it is a high probability this is causing tainting when entering combat.

 

It is near impossible to be able to reproduce this at the frequency where I can easily get a taint log showing this but If I find a way, I will.


Edited May 28, 2017

Posted by CurseForge user transitbus

commented

That's not how that works. That's now how any of this works.

 

I appreciate the investigative spirit, but you're way, way off track. ClearAllPoints has nothing to do with maps or anything like that. All it does is reset the anchors of a frame. TellMeWhen is not calling it on any protected frames in any protected context.

 

The errors you're getting are the result of nothing more than the fact that Blizzard's taint catcher is hopelessly broken when it comes to giving useful errors. Ghostcrawler promised a fix back during Cata, but obviously that didn't result in anything.


Edited May 30, 2017

Posted by CurseForge user Cybeloras

commented

That's ok. Replacing this addon has eliminated these errors I would get on average, an error, every 30 minutes while doing world quests. regardless of how illogical you think my thought process is and the inevitable "causation does not imply correlation", I feel confident that this addon was leading to my issue.

 

Again, I can't do an exact step by step guide to reproduce this but swapping in an out of combat rapidly like you do while doing world quests would cause something within this addon to to result in errors.

 

I excluded the occasional hide() related errors as that is a known taint issue with toggling the worldmap while in combat via code which I have tracked down the cause. However, this is still the only addon that uses ClearAllPoints() so religiously and the only addon that once removed (disabled) eliminates the errors.

 

You can  blame the taint mechanics for failure to catch something but I can just as well use the logic of ruling out the culprit to narrow down the cause.

 

So I will just slowly continue to transition my alts off of this addon and eventually uninstall it even thought I have enjoyed it's use.


Edited May 31, 2017

Posted by CurseForge user transitbus

commented

k


Posted by CurseForge user Cybeloras