MinimapButtonButton

MinimapButtonButton

5M Downloads

stack overflow [string "=[C]"]: in function `GetChildren'

Quartzfire opened this issue ยท 19 comments

commented

Hi,

I only downloaded this addon yesterday for 11.0.7 (MinimapButtonButton-1.20.5.zip) since other MBB addons are outdated.

I deleted older MBB addons as well as Delete Settings (Saved Variables) and confirmed the folder had disappeared from my addons folder.

It worked ok when first installed and I tested it and then stopped working a short while later. I'm not sure what the trigger for it is.

I thought maybe it was battle pet completionist addon causing some issues, so I disabled that but I still get the same issues.

On one char it let me open the frame, then it gives the lua when I try to close it, on my other char it give the lue when I try to open it.

Please let me know if there is any other information I can provide.

Thanks in advance.

46x stack overflow
[string "=[C]"]: in function `GetChildren'
[string "@MinimapButtonButton/Logic/Main.lua"]:213: in function <MinimapButtonButton/Logic/Main.lua:212>
[string "@MinimapButtonButton/Logic/Main.lua"]:233: in function <MinimapButtonButton/Logic/Main.lua:228>
[string "@MinimapButtonButton/Logic/Main.lua"]:279: in function <MinimapButtonButton/Logic/Main.lua:278>
[string "@MinimapButtonButton/Logic/Main.lua"]:328: in function <MinimapButtonButton/Logic/Main.lua:324>

Locals:
(*temporary) = "stack overflow"

commented

The GetChildren function is a default function to receive the children of a frame, in this case to get all the frames attached to the minimap to "scan" which of them is a minimap button. I honestly have no idea how this function can cause a stack overflow unless some addon is overwriting it with a function that accidentially runs forever, causing a stack overflow. Unfortunately I don't have a better suggestion for now than disabling other addons one by one or in batches to see if you can pinpoint it to a specific addon.
If you want to easily restore what addons you had enabled, you can use this addon (make sure to save a profile before you start disabling addons): https://www.curseforge.com/wow/addons/addonprofiles.

commented

Thanks, will see if I can figure out if I can pinpoint it to another addon causing it.

commented

Update:

Seems to be an addon called "Giuice Hunter Pets", which I also installed recently.

With that addon enabled, if I go from Stormwind to Dornogal and then use MBB it's when the LUA pops up. It's then "broken" after that point.

If I disable the "Giuice Hunter Pets" addon, I can go from Stormwind to Dornogal and back again numerous times and no issue clicking on MBB.

Ref: https://www.curseforge.com/wow/addons/giuice-hunter-pets

commented

Oh and also, reading the comments on curseforge, the maintainer currently cannot upload new versions to curseforge so the version there might be outdated. Maybe the issue is fixed in the latest version on github.

commented

So I had a quick look at the addon and they aren't overriding the GetChildren function. But it looks like they are adding a lot of minimap pins if I saw that correctly. Can you try disabling the "Show Pet Pins on Minimap" option, reload and then see if MBB still has a stack overflow?

commented

Sure, i'll try to disable the minmap options. Funny you say that, when I opened MBB once when I had the addon disabled, I saw about a dozen or so icons of the addon showing in MBB, perhaps that's related to the excessive minimap pins you mentioned.

commented

That sounds really weird, maybe it's a bug and the world map pin option actually controls the minimap pins? Either way it seems the addon is doing weird things that maybe cause performance issue too with adding so many frames to the minimap and/or world map.

commented

Th option for "Show Pet Pins on Minimap" seems ot do nothing for me, I disable it, /reload and it's enabled again, so it appears to not be consistent. I had the same LUA issue with it seemingly enabled or disabled.

I seem to not have the LUA issue when I change the option for "Show Pet Pins on World Map" to Disable Pins.

commented

If you want to check how many frames are attached to the minimap, you can paste this into the chat: /dump #{Minimap:GetChildren()}. For me it says 37 which includes HandyNotes pins. As this is the same call from your error this might cause a stack overflow with the addon enabled in which case I unfortunately have to suggest using a different addon with that functionality.

commented

Yeah it's quite strange. I'll disable the "Giuice Hunter Pets" addon for now. While it's a nice look and feel for the hunter pets you can't actually change anything, so functionally not very beneficial.

Perhaps of the author changes things I'll try it again, or I might put a link to this ticket on his channel/discord so he can have a look and see if he spots anything that can be done to make things more efficient.

Thanks for taking the time to have a look and respond to me though.

commented

When I am having the issue, and type /dump #{Minimap:GetChildren()} I get nighing in response other than much the same back in the text box.

image

image

image

commented

Oh I see. So yeah, when you have the issue you don't get a response because the stack overflow error occurs.
Without the issue you only have 8 frames attached to the minimap and no error occurs.
So the fix is that writer of that addon needs to change something because in all honesty it is kinda crazy that it is creating so many frames that you get a stack overflow when listing them.

commented

It seems you didn't copy the slash at the beginning of the command so it's just getting said as a message.
But also, the error in the screenshot you pasted is from another addon, I assume MinimapButtonBag. But the fact that it has the same error when checking the minimaps children shows that the fault is not in the minimap button addons themselves but too many buttons attached.

commented

I type it correctly instead of the once in the middle.

If i type it when not having the issue I get a response:

image

commented

I noticed that switching the options in the addon and doing a /reload doesn't seem to cause as many issues, It's when I log in and log out again that it causes more consistent issues.

image

commented

I think this is the current magic formula for me to have the addon working and not mess with MBB.

image

commented

With above settings the addon works, and I don't get LUA, but also not anything on the mini-map (which TBH is fine since I didn't like that option anyhow as there's too many hunter pet icons).

I'll let the author of that addon know it's causing issues with your addon though.

image

commented

Alright, I'm glad that you found a working setup.
I will close this issue then, you can still link it to the author of that addon of course.

commented

Thanks, I've made a comment on the curseforge page for that addon with a link to this discussion.

Thanks for taking the time to interact with me.