SFX-WoW / Masque

A button-skinning engine for World of Warcraft.
Other
45 stars 11 forks source link

Bug: Stack Overflow in 10.0.0-Alpha #248

Closed GregoryGH closed 1 year ago

GregoryGH commented 1 year ago

Game Flavor

Wrath Classic

Game Version

3.4.0

Add-On Version

10.0.0-Alpha

Description

Error spam starting after some time in game, /rl helps for a while but after some time it starting again.

Error Message

502x C stack overflow
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
...
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `SetEdgeTexture'
[string "@Masque\Core\Regions\Frame.lua"]:144: in function <Masque\Core\Regions\Frame.lua:103>
[string "@Masque\Core\Button.lua"]:261: in function <Masque\Core\Button.lua:131>
[string "@Masque\Core\Group-Group.lua"]:211: in function `RemoveButton'
[string "@WeakAuras\RegionTypes\Icon.lua"]:332: in function `UpdateTexCoords'
[string "@WeakAuras\RegionTypes\Icon.lua"]:309: in function `UpdateSize'
[string "@WeakAuras\RegionTypes\Icon.lua"]:463: in function `Scale'
[string "@WeakAuras\Animations.lua"]:104: in function <WeakAuras\Animation
Locals:
(*temporary) = WeakAurasCooldownhunger_for_blood_nameplates2 {
 0 = <userdata>
 SetDrawSwipeOrg = <function> defined =[C]:-1
 useCooldownModRate = true
 SetEdgeTexture = <function> defined =[C]:-1
 SetSwipeColor = <function> defined =[C]:-1
 __MSQ_Edge = "Masque\Textures\Cooldown\Edge"
 SetDrawSwipe = <function> defined @WeakAuras\RegionTypes\Icon.lua:257
}
(*temporary) = "Cooldown\edge"
(*temporary) = <function> defined =[C]:-1
(*temporary) = WeakAurasCooldownhunger_for_blood_nameplates2 {
 0 = <userdata>
 SetDrawSwipeOrg = <function> defined =[C]:-1
 useCooldownModRate = true
 SetEdgeTexture = <function> defined =[C]:-1
 SetSwipeColor = <function> defined =[C]:-1
 __MSQ_Edge = "Masque\Textures\Cooldown\Edge"
 SetDrawSwipe = <function> defined @WeakAuras\RegionTypes\Icon.lua:257
}
(*temporary) = "Cooldown\edge"
 = <function> defined =[C]:-1
 = <function> defined @Ace3\AceHook-3.0\AceHook-3.0.lua:100

Steps to Reproduce

No response

Screenshots

No response

Notes

No response

StormFX commented 1 year ago

Can you post a copy of the WA string for that Aura?

StormFX commented 1 year ago

Also, is this happening just randomly after awhile or does it occur during a specific event?

StormFX commented 1 year ago

See if the latest build fixes it.

lavitzz commented 1 year ago

I have the same problem with Masque addon, if i disable it (Masque), the problem dissapear, i try with 10.0.0-Alpha-2 and the problem persist

StormFX commented 1 year ago

@lavitzz Are you also on Wrath Classic? Can you copy and paste the error that you're receiving?

lavitzz commented 1 year ago

Yes Wrath Classic, the error started by putting an aura in Weakauras

lavitzz commented 1 year ago
Message: C stack overflow
Time: Fri Oct 21 06:30:57 2022
Count: 18
Stack: C stack overflow
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
...
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `SetEdgeTexture'
[string "@Interface\AddOns\Masque\Core\Regions\Frame.lua"]:144: in function <Interface\AddOns\Masque\Core\Regions\Frame.lua:103>
[string "@Interface\AddOns\Masque\Core\Button.lua"]:261: in function <Interface\AddOns\Masque\Core\Button.lua:131>
[string "@Interface\AddOns\Masque\Core\Group.lua"]:211: in function `RemoveButton'
[string "@Interface\AddOns\WeakAuras\RegionTypes\Icon.lua"]:332: in function `UpdateTexCoords'
[string "@Interface\AddOns\WeakAuras\RegionTypes\Icon.lua"]:309: in function `UpdateSize'
[string "@Interface\AddOns\WeakAuras\RegionTypes\Icon.lua"]:463: in function `Scale'
[string "@Interface\AddOns\WeakAuras\Animations.lua"]:104: in function <Interface\AddOns\WeakAuras\Animations.lua:16>

Locals: (*temporary) = WeakAurasCooldownmissing_fire_totem_ {
 0 = <userdata>
 SetDrawSwipeOrg = <function> defined =[C]:-1
 useCooldownModRate = true
 __MSQ_Edge = "Interface\AddOns\Masque\Textures\Cooldown\Edge"
 SetSwipeColor = <function> defined =[C]:-1
 SetEdgeTexture = <function> defined =[C]:-1
 SetDrawSwipe = <function> defined @Interface\AddOns\WeakAuras\RegionTypes\Icon.lua:257
}
(*temporary) = "Interface\Cooldown\edge"
 = <function> defined =[C]:-1
 = <function> defined @Interface\AddOns\BigDebuffs\Libs\AceHook-3.0\AceHook-3.0.lua:100

Message: C stack overflow
Time: Fri Oct 21 06:30:57 2022
Count: 1
Stack: C stack overflow
[string "@Interface\AddOns\Masque\Core\Group.lua"]:211: in function `RemoveButton'
[string "@Interface\AddOns\WeakAuras\RegionTypes\Icon.lua"]:332: in function `UpdateTexCoords'
[string "@Interface\AddOns\WeakAuras\RegionTypes\Icon.lua"]:309: in function `UpdateSize'
[string "@Interface\AddOns\WeakAuras\RegionTypes\Icon.lua"]:463: in function `Scale'
[string "@Interface\AddOns\WeakAuras\Animations.lua"]:104: in function <Interface\AddOns\WeakAuras\Animations.lua:16>

Locals: self = <table> {
 db = <table> {
 }
 Parent = <table> {
 }
 StaticID = "gJaC1eC7nx5"
 Buttons = <table> {
 }
 ID = "WeakAuras_gJaC1eC7nx5"
 Group = "Missing Fire Totem "
 Addon = "WeakAuras"
}
Button = <unnamed> {
 __MSQ_NormalSkin = <table> {
 }
 __MSQ_Shape = "Square"
 data = <table> {
 }
 __MSQ_bType = "WA_Aura"
 __MSQ_oType = "Button"
 __MSQ_NormalColor = <table> {
 }
 __Regions = <table> {
 }
 __MSQ_ChargeSkin = <table> {
 }
 __MSQ_Addon = "WeakAuras"
 __MSQ_NewNormal = <unnamed> {
 }
 0 = <userdata>
 __MSQ_Icon = <unnamed> {
 }
 __MSQ_Normal = <unnamed> {
 }
}
Regions = <table> {
 Icon = <unnamed> {
 }
 Cooldown = WeakAurasCooldownmissing_fire_totem_ {
 }
}
SkinButton = <function> defined @Interface\AddOns\Masque\Core\Button.lua:131
Group = <table> {
  = <table> {
GregoryGH commented 1 year ago

alpha 2 still happens

709x C stack overflow
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
...
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `SetEdgeTexture'
[string "@Masque\Core\Regions\Frame.lua"]:144: in function <Masque\Core\Regions\Frame.lua:103>
[string "@Masque\Core\Button.lua"]:261: in function <Masque\Core\Button.lua:131>
[string "@Masque\Core\Group-Group.lua"]:211: in function `RemoveButton'
[string "@WeakAuras\RegionTypes\Icon.lua"]:332: in function `UpdateTexCoords'
[string "@WeakAuras\RegionTypes\Icon.lua"]:309: in function `UpdateSize'
[string "@WeakAuras\RegionTypes\Icon.lua"]:463: in function `Scale'
[string "@WeakAuras\Animations.lua"]:104: in function <WeakAuras\Animations.lua:16>

Locals:
(*temporary) = WeakAurasCooldowndmnpvp.targetbuffs {
 0 = <userdata>
 _occ_priority = 1
 modRate = 1
 _occ_show = true
 duration = 65
 _occ_display = <unnamed> {
 }
 expirationTime = 784.175000
 __MSQ_Edge = "Masque\Textures\Cooldown\Edge"
 SetDrawSwipe = <function> defined @WeakAuras\RegionTypes\Icon.lua:257
 SetDrawSwipeOrg = <function> defined =[C]:-1
 useCooldownModRate = true
 SetEdgeTexture = <function> defined =[C]:-1
 SetSwipeColor = <function> defined =[C]:-1
 _occ_duration = 65
 _occ_start = 719.175000
 _occ_kind = "default"
 _occ_gcd = false
 _occ_settings = <table> {
 }
}
(*temporary) = "Cooldown\edge"
(*temporary) = <function> defined =[C]:-1
(*temporary) = WeakAurasCooldowndmnpvp.targetbuffs {
 0 = <userdata>
 _occ_priority = 1
 modRate = 1
 _occ_show = true
 duration = 65
 _occ_display = <unnamed> {
 }
 expirationTime = 784.175000
 __MSQ_Edge = "Masque\Textures\Cooldown\Edge"
 SetDrawSwipe = <function> defined @WeakAuras\RegionTypes\Icon.lua:257
 SetDrawSwipeOrg = <function> defined =[C]:-1
 useCooldownModRate = true
 SetEdgeTexture = <function> defined =[C]:-1
 SetSwipeColor = <function> defined =[C]:-1
 _occ_duration = 65
 _occ_start = 719.175000
 _occ_kind = "default"
 _occ_gcd = false
 _occ_settings = <table> {
 }
}
(*temporary) = "Cooldown\edge"
 = <function> defined =[C]:-1
 = <function> defined @Ace3\AceHook-3.0\AceHook-3.0.lua:100
GregoryGH commented 1 year ago

found way to reproduce problem - opening WA config window (/wa) with many auras configured cause it all the time and some aura icons stay on screen even after i close WA config window. i use masque to skin wa obviously.

rml9ty commented 1 year ago

alpha 2 doesn't fix the issue on the PTR either. can be triggered by opening /wa

1467x C stack overflow
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: ?
...
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `SetEdgeTexture'
[string "@Interface/AddOns/Masque/Core/Regions/Frame.lua"]:144: in function <Interface/AddOns/Masque/Core/Regions/Frame.lua:103>
[string "@Interface/AddOns/Masque/Core/Button.lua"]:261: in function <Interface/AddOns/Masque/Core/Button.lua:131>
[string "@Interface/AddOns/Masque/Core/Group.lua"]:211: in function `RemoveButton'
[string "@Interface/AddOns/WeakAuras/RegionTypes/Icon.lua"]:337: in function `UpdateTexCoords'
[string "@Interface/AddOns/WeakAuras/RegionTypes/Icon.lua"]:314: in function `UpdateSize'
[string "@Interface/AddOns/WeakAuras/RegionTypes/Icon.lua"]:468: in function `Scale'
[string "@Interface/AddOns/WeakAuras/Animations.lua"]:105: in function <Interface/AddOns/WeakAuras/Animations.lua:17>

Locals:
(*temporary) = "C stack overflow"
(*temporary) = <function> defined =[C]:-1
(*temporary) = "C stack overflow"
StormFX commented 1 year ago

Thanks for the reports. I'm still looking into it.

StormFX commented 1 year ago

I believe I've found the issue. I switched to AceHook-3.0 for its ability to "unhook", but didn't realize/remember that it doesn't unhook secure hooks. I'll revert those changes in the next build.

StormFX commented 1 year ago

I've created a patch below if someone wants to test it. I'm at work right now, so I can't do anything with it for awhile. You can either copy it and paste it into Masque/Core/Regions/Frame.lua, overwriting the entire file or just download the zip and overwrite the existing file with the one in the archive.

https://gist.github.com/StormFX/748581b3d3277800bbe8f225ebc15e03

rml9ty commented 1 year ago

so far no more errors <3

StormFX commented 1 year ago

Hopefully that fixes it. I think this is the very reason I stopped using AceHook in the first place, but it's been years ago and my old ass forgets things. :p

pschultz commented 1 year ago

Can confirm that the gist fixes the issue 🎉(it's Masque/Core/Region/Frame.lua, though).

For the record, the WA at the end of this post reproduces the issue in Retail. Icons might not show correctly on non-druid characters. Not sure what triggers the actual bug. After a /reload I sort of just run around for a few seconds and then it breaks.

!WA:2!vBv3UTXXv4qt4A31PUXYTQPQPTtLrDLsPOKvInSvRtb)vsnuI0lPKAGta1S7oC3PA5SBMzwrsxKlIqqHVwpc86EfFe8tWaHI(a4hbJEF6z2HKI0ra(6UaC5SNzoN58ZC((MmhUGW(tZ)G8pCHUl4TG3lx)Cm3TgH5ld(UfFTte3JWlIDpXJhfh)bfdPV4fyUhQvuuOKgFborgeXRhlPrmHfFq9oDeezMryMliVreLjDkvz)wvSh2jjmSeL7gso2weJDjxNJDt17r2cjMlTkszuPLth4prG1zso13NWflDF(4H)ZHEeNKoDAniMW3PsTgvpOwrj8HnoHJ38mrmjmCxpH1RfjoKtjmzty10(JAxQqZwTB2QGDRIjWM4ehIhq42mCxIWYoDPo7qWHYGPQ2GtavTB2OsTANNWg7cwJCJct6YAQJGSVbIpcNHdpe8tiuo5CbjStAyRUPnoK6Zu38mEKeRd0mdbBBt8tZvfdJWEvlkOVGSOD3eiBAve8F3fvRyz7gIfc9ihjoe8f9WZ85upDKVSD5lCgxskffgX)RzZMTr2nY)qoMr7ILKGHUjczu3T5r96FT)7ARHcKYyXwRVUpvgK4K3nQ76hrWNuasBIlhT569ONqxVuQYRvEaKEOURbwjj(EglUMpyslRojS0s3kmsVgrcAAzmhsxppLmocx1cbpHrU4qKeYaHhr9KbONIEWJ3yMP6nw6mlzD09MZsPRo9fejgT6dAm3AE(d(QjR4qkh7xMCQ(mA7cEELXs8kZBXCOL7V8QxA3orCev7A5ERTg5fLUGXM2naZ8PmFuelCasgqqu3iMjgYJ2ffdNziCiwqb4tjiyo4KntIciu)azUznvVaQBaQlbdBImaltTKa1fpaXIKihcs81jyojp0RHoHqIhVaJ05mf2ZdD88zd6xLNNoCRMePr4oP(WkP(6Qhpv)PdENgiT4mw)FO6ZEsa0gsM)JPZPFOFSPsV2mv613e(SNzuoDK0Fov2a9UEavgmvLVjDeH5zb)SfWXeswhdcwWqZ)v88jX3PzAkevfaKqhfqLKHMqv3C9kpZPEF9H(XA1e6rVErrexwKfXiNB6YafEK69RQUR6jVIGfKMsEkS5nUWd6L0t3wdnXfeOU5jotVg9oOEsXUyklvr1F6gQ)S6PQpdgE73wIdh7rteF37pY4gME9mzYK9SebPgTl0l)6jhXQcLViUJDHY7Eqt7q9K36vg9myY)4Xwzxg8r2HYi3tnywFyMJBVm1ZPmaT6V55AuM0IZTg1HdWJqyb9pzFJbrVQwKokCAwYUsL9bSTEgOWntOEJ(8tyn39t3OlUpZb8SouFRIAedNsh0Sv9949hZpmuNsmNvSgrzq7NjHAXHGrdZMzb3LE59gQpY3mkH7s(O3t1kJ6hLrDd1nVWf6S9I6XA2Jgto(vt(uxDdkQ15y1p923x9b)h1DDm4wQfv)I3ygEiMtXoHeX1u)k1hP(1QFJ6NBzG8fXFFJAf(Ik2TtPS2D)TBFuD7ALZLsc0(GgLl0Qs7s1RxR8r7Be2SDPDkS)2vkN7G93Tv7chyxyld5sUXMciD2UsRPlBS0Q1HuY86MApdrfS9BbuI(e5vovNiiuMyPAvkCO2P2RyHw5M19FBzp7GDBShmZ0DTyHTNlMQF0(QVS)1E5u0DCyytG6IOH2ZHCYHCZH8YHi5qDmia0oinZBBc708aLLSLHKeHzEx9eFgABISfTlzLvHw)8pqJHYM2bZjYeodj5jKP9YPqtxLPE6LMAocIRe(FIfaGF49Sq)tJXNducZdBLI2t80KtGhDjKRiiQ3pqiL5r6NsHCjIAImAhQhbK2bhkMzX67DasxgawHUdzWYZyCZDyGzF8t(KhnJ91enG5)KhTXJFOr83CLrXG))nkMT(d1(rMg2uy0rcD4Le7bVTDdiUN4y(qTKL6dv)s1DulO(TwX3XqJn(qYErEK)17P(DN8gndAb99RK2AKMa1YQBc3MuGLAWAsG63V0IQ7EbCbn9vR0O)mphdT93QUFv1FqFfm1QPV)403)X03pu9C1ZSoBceuG6waPGL6NyPUTv8pBI4wK(YYuHg2XlO4lII6MrT1e2Jzjb(lVBAb1oJrS3CFspB3jxamlCDZ4aCw7u(0VvvtTNQ(iP)xxP6GUvFg(VZPmnIpeQFE24fagKsJDoijb5eYXQdSuhAPUU1cN(V)B)Vp
StormFX commented 1 year ago

@pschultz Awesome! Thanks for pointing out the error in the path above. Fixed! :)

lavitzz commented 1 year ago

Frame.lua copied and error solved! thank you very much, you are very fast

GregoryGH commented 1 year ago

Can confirm - no errors with fixed Frame.lua

StormFX commented 1 year ago

This should be fixed in Alpha-3. Closing.