SFX-WoW / Masque

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

Bug: Stack Overflows with the Latest Alpha #52

Closed stamicvs closed 5 years ago

stamicvs commented 5 years ago

Hi StormFX,

I've tested the latest alpha version and as soon as I enabled Masque I get a lot of error including stack overflow errors and the game freezes when icons or frames are shown where Masque is activated. If I disable Masque the errors are gone.

Just as an additional information: I am using the Masque:Caith skin with the following addons being skinned:

AdiButtonAuras Bartender4 flyPlateBuffs Raven TellMeWhen

Thank you very much for your effort in advance.

Please see the errors in the code blocks:

1.

2x OmniCC\core\display-Display.lua:216: stack overflow OmniCC\core\display-Display.lua:216: in functionGetCooldownWithHighestPriority' OmniCC\core\display-Display.lua:131: in function UpdatePrimaryCooldown' OmniCC\core\display-Display.lua:124: in functionRemoveCooldown' OmniCC\core\cooldown.lua:86: in function <OmniCC\core\cooldown.lua:82> OmniCC\core\cooldown.lua:96: in function <OmniCC\core\cooldown.lua:92> OmniCC\core\cooldown.lua:117: in function <OmniCC\core\cooldown.lua:114> C: in function Hide' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:420: in function <flyPlateBuffs\flyPlateBuffs.lua:415> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:685: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in functionfunc' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> ... flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in function func' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> Masque\Core\Group-Group.lua:59: in function <Masque\Core\Group.lua:52> Masque\Core\Group-Group.lua:192: in functionReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:985: in function <flyPlateBuffs\flyPlateBuffs.lua:948>

Locals: InCombatSkipped`

2.

27x OmniCC\core\cooldown.lua:86: stack overflow OmniCC\core\cooldown.lua:86: in function <OmniCC\core\cooldown.lua:82> OmniCC\core\cooldown.lua:96: in function <OmniCC\core\cooldown.lua:92> OmniCC\core\cooldown.lua:117: in function <OmniCC\core\cooldown.lua:114> [C]: in functionHide' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:420: in function <flyPlateBuffs\flyPlateBuffs.lua:415> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:685: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in function func' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> Masque\Core\Group-Group.lua:59: in function <Masque\Core\Group.lua:52> Masque\Core\Group-Group.lua:192: in functionReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> ... flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in function func' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> Masque\Core\Group-Group.lua:59: in function <Masque\Core\Group.lua:52> Masque\Core\Group-Group.lua:192: in functionReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:985: in function <flyPlateBuffs\flyPlateBuffs.lua:948>

Locals: InCombatSkipped`

3.

2x OmniCC\core\timer.lua:197: stack overflow OmniCC\core\timer.lua:197: in functionGetTimerText' OmniCC\core\timer.lua:119: in function Update' OmniCC\core\timer.lua:65: in functionGetOrCreate' OmniCC\core\display-Display.lua:147: in function UpdateTimer' OmniCC\core\display-Display.lua:116: in functionAddCooldown' OmniCC\core\cooldown.lua:76: in function <OmniCC\core\cooldown.lua:67> OmniCC\core\cooldown.lua:94: in function <OmniCC\core\cooldown.lua:92> OmniCC\core\cooldown.lua:117: in function <OmniCC\core\cooldown.lua:114>

C: in function SetCooldown' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:453: in function <flyPlateBuffs\flyPlateBuffs.lua:415> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:685: in function <flyPlateBuffs\flyPlateBuffs.lua:620> ... flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in functionfunc' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> Masque\Core\Group-Group.lua:59: in function <Masque\Core\Group.lua:52> Masque\Core\Group-Group.lua:192: in function `ReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:725: in function <flyPlateBuffs\flyPlateBuffs.lua:714> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:980: in function <flyPlateBuffs\flyPlateBuffs.lua:948>

Locals: self =

{ endTime = 4780842.000000 callback = defined @OmniCC\core\timer.lua:84 settings =
{ } kind = "default" key = "4780842-default-base" subscribers =
{ } } remain = 4786 tenthsThreshold = 1000 mmSSThreshold = 0 sets =
{ styles =
{ } minDuration = 3 tenthsDuration = 1 fontOutline = "OUTLINE" minSize = 0.150000 mmSSDuration = 0 enabled = true effect = "pulse" xOff = 0 spiralOpacity = 1.010000 yOff = -2 font = "Calibri" version = "3.1.4" fontFace = "Addons\SharedMedia_MyMedia\font\CalibriBold.ttf" anchor = "CENTER" minEffectDuration = 30 fontSize = 26 scaleText = true } seconds = 5000 (temporary) = defined =C:-1 (temporary) = 4500 (temporary) = 1000 (temporary) = "stack overflow" SECOND = 1000 HALF_TENTHS = 50 TENTHS = 100 L =
{ MMSSFormat = "%d:%02d" Flare = "Flare" PulseTip = "Pulses the cooldown icon." Pulse = "Pulse" ActivateTip = "Applies the ability triggering effect to the cooldown icon." AlertTip = "Pulses the finished cooldown icon at the center of the screen." ConfigMissing = "%s could not be loaded because the addon is %s" TenthsFormat = "%0.1f" HourFormat = "%dh" DayFormat = "%dd" SecondsFormat = "%d" Version = "You are using |cffFCF75EOmniCC Version (%s)|r" MinuteFormat = "%dm" Shine = "Shine" Activate = "Activate" Alert = "Alert" None = "None" } SECONDS_THRESHOLD = 59500 HALF_SECOND = 500 max = defined =C:-1 MINUTE = 60000 MINUTES_THRESHOLD = 3570000 HALF_MINUTE = 30000 HOURS_THRESHOLD = 84600000 HALF_HOUR = 1800000 HOUR = 3600000 HALF_DAY = 43200000 DAY = 86400000 `

4.

29x OmniCC\core\cooldown.lua:93: stack overflow OmniCC\core\cooldown.lua:93: in function <OmniCC\core\cooldown.lua:92> OmniCC\core\cooldown.lua:117: in function <OmniCC\core\cooldown.lua:114> [C]: in functionHide' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:420: in function <flyPlateBuffs\flyPlateBuffs.lua:415> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:685: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in function func' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> Masque\Core\Group-Group.lua:59: in function <Masque\Core\Group.lua:52> Masque\Core\Group-Group.lua:192: in functionReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> ... flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in function func' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> Masque\Core\Group-Group.lua:59: in function <Masque\Core\Group.lua:52> Masque\Core\Group-Group.lua:192: in functionReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:725: in function <flyPlateBuffs\flyPlateBuffs.lua:714> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:980: in function <flyPlateBuffs\flyPlateBuffs.lua:948>

Locals: cooldown = { 0 = _occ_priority = 1 _occ_show = true _occ_kind = "default" _occ_duration = 5 _occ_start = 4775.842000 _occ_settings =

{ } } (temporary) = defined =C:-1 (temporary) = { 0 = _occ_priority = 1 _occ_show = true _occ_kind = "default" _occ_duration = 5 _occ_start = 4775.842000 _occ_settings =
{ } } (*temporary) = "stack overflow" cooldown_ShowText = defined @OmniCC\core\cooldown.lua:67 cooldown_HideText = defined @OmniCC\core\cooldown.lua:82 `

5.

28x Masque\Core\Regions\Backdrop.lua:122: stack overflow Masque\Core\Regions\Backdrop.lua:122: in functionfunc' Masque\Core\Core.lua:127: in function <Masque\Core\Core.lua:124> Masque\Core\Button.lua:84: in function <Masque\Core\Button.lua:59> Masque\Core\Group-Group.lua:188: in function ReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in functionfunc' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> Masque\Core\Group-Group.lua:59: in function <Masque\Core\Group.lua:52> Masque\Core\Group-Group.lua:192: in function ReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> ... flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:708: in function <flyPlateBuffs\flyPlateBuffs.lua:701> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:960: in functionfunc' Masque\Core\Callback.lua:44: in function <Masque\Core\Callback.lua:37> Masque\Core\Group-Group.lua:59: in function <Masque\Core\Group.lua:52> Masque\Core\Group-Group.lua:192: in function `ReSkin' flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:259: in function <flyPlateBuffs\flyPlateBuffs.lua:214> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:698: in function <flyPlateBuffs\flyPlateBuffs.lua:620> flyPlateBuffs\flyPlateBuffs-8.0.1.06.lua:985: in function <flyPlateBuffs\flyPlateBuffs.lua:948>

Locals: Enabled = false Button = { 0 = MSQ_Shape = "Square" durationSize = 18 __MSQ_NormalHook = true duration = 5 border = { } MSQ_bType = "Button" MSQ_oType = "Button" stacktext = { } expiration = 4780.842000 __MSQ_Normal = { } icon = 463284 texture = { } stackSize = 18 stackBg = { } id = 1 MSQ_NormalSkin =

{ } durationBg = { } width = 32 durationtext = { } MSQ_NormalColor =
{ } type = "HELPFUL" height = 32 stack = 0 cooldown = { } SetNormalTexture = defined =C:-1 } Skin =
{ Height = 42 Texture = "Masque_Caith\Textures\Backdrop" Width = 42 } Color = nil xScale = 0.888889 yScale = 0.888889 (temporary) = defined @Masque\Core\Regions\Backdrop.lua:43 (temporary) = { 0 = MSQ_Shape = "Square" durationSize = 18 MSQ_NormalHook = true duration = 5 border = { } __MSQ_bType = "Button" MSQ_oType = "Button" stacktext = { } expiration = 4780.842000 MSQ_Normal = { } icon = 463284 texture = { } stackSize = 18 stackBg = { } id = 1 __MSQ_NormalSkin =
{ } durationBg = { } width = 32 durationtext = { } MSQ_NormalColor =
{ } type = "HELPFUL" height = 32 stack = 0 cooldown = { } SetNormalTexture = defined =C:-1 } (*temporary) = "stack overflow" AddBackdrop = defined @Masque\Core\Regions\Backdrop.lua:59 RemoveBackdrop = defined @Masque\Core\Regions\Backdrop.lua:43 `

StormFX commented 5 years ago

Can you narrow it down some? IE, try it with each add-on (only) to see which is the culprit? I've a sneaking suspicion this is related to the callback changes, but I want to be certain.

StormFX commented 5 years ago

This is actually an error on my part I'll post a new alpha shortly.