frozn / TipTac

WoW AddOn TipTac Reborn
GNU General Public License v3.0
108 stars 20 forks source link

5 Errors on log in #222

Closed GoldenMoonJellyfish closed 1 year ago

GoldenMoonJellyfish commented 1 year ago

Describe the bug A clear and concise description of what the bug is. I log in and I get 5 LUA errors immediately for "attempt to call ... (a nil value)" It's been happening for about a week or so. I was using the original TiptacSOM+BCC+WOTLK addon and was getting a single nil value error about set gradient alpha when I logged in (and 100 more every time I tried to change a setting.) After attempting to troubleshoot that, I deleted it and switched to the reborn addon. Now I'm getting 5 LUA errors and the reborn addon doesn't seem to be working for me, I can't open the options menu and I can't see players buffs in the tooltips. I've tried deleting and reinstalling, but nothing seems to fix the issue.

To Reproduce Steps to reproduce the behavior: I Log in, and 5 LUA errors appear. The errors often appear again if I reload my UI /tiptac does not work for me, I can't seem to open the config at all. I cannot see any buffs in my tooltips anymore, so it seems the addon isn't actually working for me? I also use Tacotips, Bagnon item level, LoonBIS, and BiS-Tooltips, but they've never caused an issue with Tiptac before (I have tried turning them all off and I still get the errors) (I have other non-tooltip related addons, but I don't know if you need the whole list or not?)

Expected behavior A clear and concise description of what you expected to happen. No LUA errors? I've used Tiptac for many years and never had a problem with it before, now I have at least 5.

Screenshots If applicable, add screenshots to help explain your problem.

TipTac Reborn (please complete the following information):

WoW (please complete the following information):

Additional context 1/5 Message: ...libs/LibFroznFunctions-1.0/LibFroznFunctions-1.0.lua:909: attempt to call field 'RegisterCanvasLayoutCategory' (a nil value) Time: Sun Apr 23 14:44:26 2023 Count: 1 Stack: ...libs/LibFroznFunctions-1.0/LibFroznFunctions-1.0.lua:909: attempt to call field 'RegisterCanvasLayoutCategory' (a nil value) [string "=[C]"]: in function RegisterCanvasLayoutCategory' [string "@Interface/AddOns/TipTac/libs/LibFroznFunctions-1.0/LibFroznFunctions-1.0.lua"]:909: in function?' [string "@Interface/AddOns/TipTac/ttCore.lua"]:860: in main chunk

Locals:

2/5 Message: Interface/AddOns/TipTac/ttCore.lua:780: attempt to call method 'SetupConfig' (a nil value) Time: Sun Apr 23 14:44:26 2023 Count: 1 Stack: Interface/AddOns/TipTac/ttCore.lua:780: attempt to call method 'SetupConfig' (a nil value) [string "=[C]"]: in function SetupConfig' [string "@Interface/AddOns/TipTac/ttCore.lua"]:780: in function?' [string "@Interface/AddOns/TipTac/ttCore.lua"]:805: in function <Interface/AddOns/TipTac/ttCore.lua:804>

Locals:

3/5 Message: Interface/AddOns/TipTac/ttCore.lua:793: attempt to call method 'ApplyConfig' (a nil value) Time: Sun Apr 23 14:44:27 2023 Count: 1 Stack: Interface/AddOns/TipTac/ttCore.lua:793: attempt to call method 'ApplyConfig' (a nil value) [string "=[C]"]: in function ApplyConfig' [string "@Interface/AddOns/TipTac/ttCore.lua"]:793: in function?' [string "@Interface/AddOns/TipTac/ttCore.lua"]:805: in function <Interface/AddOns/TipTac/ttCore.lua:804>

Locals:

4/5 Message: Interface/AddOns/TipTac/ttCore.lua:1 (null) Time: Sun Apr 23 14:44:28 2023 Count: 1

5/5 Message: Interface_Wrath\FrameXML\Bindings.xml:1 Interface/AddOns/TipTac/ttCore.lua:1 (null) Time: Sun Apr 23 14:44:28 2023 Count: 1

darvoso commented 1 year ago

while not a fix, if you go back to the v23.03.07-release of the reborn version the (above) errors go away (for me).

frozn commented 1 year ago

Thanks for reporting this! 👍

It seems that some other addon is leaking globals, in this case the variable Settings. This global variable is only available in retail but not in WotLKC. The line of code in the first error mesage you posted (attempt to call field 'RegisterCanvasLayoutCategory') shouldn't be executed in WotLKC.

Please try by disabling some of your addon to determine the causing addon.

darvoso commented 1 year ago

I finally remembered to do this: https://www.curseforge.com/wow/addons/profession-master was the culprit (for me).

frozn commented 1 year ago

Thank you for finding this out! 👍

Profession Master is currently leaking a lot of global variables, see "ProfessionMaster.lua" on top in section "prepare storage" and function "ProfessionMasterAddon:CheckSettings()". In the mentioned function the global variable "Settings" will be created if it doesn't exist. But this variable is also used by blizzard.

In the latest release of TipTac Reborn I added the feature that the menu of TipTac can also be popped up in WoW's interface settings. Because the retail flavor has a new interface settings style I differentiate the insertion of TipTac's settings into the interface settings by checking if global variable "Settings" is available. If so, I assume that the new interface settings style is available and call the appropriate blizzard functions, which doesn't exist if Profession Master is active.

Because there's no source code available on GitHub I can't make a pull request to show a possible solution for Profession Master. But I can solve this temporary on TipTac's side too by not only checking if global variable "Settings" is availble but also if e.g. function "Settings.RegisterCanvasLayoutCategory()" is available. This will be included in the next release.

Nevertheless, the problem with leaking of global variables has to be solved in Profession Master.

darvoso commented 1 year ago

Thank you for being willing to solve around it so I (we?) can use both.

frozn commented 1 year ago

Fixed with release v23.05.01.