WeakAuras sucks at loading auras in season 4
Ironii opened this issue · 3 comments
Is there an existing issue for this?
- I have searched the existing open and closed issues.
Description
Sometimes when pulling a (raid) boss for the first time, WA throws script run too long error, resulting on WA's not working for current pull. I saw the same error earlier this expansion, but after removing old auras with encounter load, the problem disappeared, now with S4 and the "need" for 3 raid tier auras, it appeared again.
(i havent paid enough attention to say for sure if its just encounter auras that break, i don't use too many auras without encounter load)
Error provided is from pulling Sarkareth (relevant(?) because the error comes from Magmorax wa with correct encounter id)
Not tested with just WeakAuras enabled
WeakAuras Version
5.12.9
World of Warcraft Flavor
Retail (Default)
World of Warcraft Region
EU
Tested with only WeakAuras
I got this issue with only WeakAuras enabled
Lua Error
1x WeakAuras/RegionTypes/Group.lua:61: script ran too long
[string "@WeakAuras/RegionTypes/Group.lua"]:61: in function <WeakAuras/RegionTypes/Group.lua:55>
[string "@WeakAuras/RegionTypes/Group.lua"]:110: in function `modify'
[string "@WeakAuras/WeakAuras.lua"]:3280: in function `SetRegion'
[string "@WeakAuras/WeakAuras.lua"]:3345: in function <WeakAuras/WeakAuras.lua:3325>
[string "@WeakAuras/WeakAuras.lua"]:3355: in function `EnsureRegion'
[string "@WeakAuras/WeakAuras.lua"]:1791: in function <WeakAuras/WeakAuras.lua:1649>
[string "@WeakAuras/WeakAuras.lua"]:1858: in function `ScanForLoads'
[string "@WeakAuras/WeakAuras.lua"]:1928: in function <WeakAuras/WeakAuras.lua:1926>
Locals:
data = <table> {
iconSource = -1
authorOptions = <table> {
}
customText = ""
yOffset = 0
anchorPoint = "CENTER"
cooldownSwipe = true
cooldownEdge = false
actions = <table> {
}
triggers = <table> {
}
internalVersion = 73
progressSource = <table> {
}
animation = <table> {
}
desaturate = false
version = 158
subRegions = <table> {
}
height = 70
load = <table> {
}
useAdjustededMax = false
source = "import"
frameStrata = 1
config = <table> {
}
color = <table> {
}
parent = "Magmorax - Icons"
useAdjustededMin = false
regionType = "icon"
information = <table> {
}
conditions = <table> {
}
keepAspectRatio = false
liquidData = <table> {
}
anchorFrameType = "SCREEN"
useCooldownModRate = true
cooldownTextDisabled = true
semver = "1.0.157"
tocversion = 100206
id = "Searing Heat"
icon = true
alpha = 1
width = 70
zoom = 0.300000
uid = "liquid-qUyWdmzroNg"
inverse = false
xOffset = 0
displayIcon = "236220"
cooldown = true
selfPoint = "CENTER"
}
region = nil
blx = 0
bly = 0
trx = nil
try = nil
width = 70
(*temporary) = 70
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "script ran too long"
2 additional lua errors from a guildie, a bit different but happened on the same boss, i think it just broke at different times than mine (he reloaded between pulls so 2 errors)
1)
1x WeakAuras/WeakAuras.lua:3367: script ran too long
[string "@WeakAuras/WeakAuras.lua"]:3367: in function `GetRegion'
[string "@WeakAuras/RegionTypes/Group.lua"]:108: in function `modify'
[string "@WeakAuras/WeakAuras.lua"]:3280: in function `SetRegion'
[string "@WeakAuras/WeakAuras.lua"]:3345: in function <WeakAuras/WeakAuras.lua:3325>
[string "@WeakAuras/WeakAuras.lua"]:3355: in function `EnsureRegion'
[string "@WeakAuras/WeakAuras.lua"]:1791: in function <WeakAuras/WeakAuras.lua:1649>
[string "@WeakAuras/WeakAuras.lua"]:1858: in function `ScanForLoads'
[string "@WeakAuras/WeakAuras.lua"]:1928: in function <WeakAuras/WeakAuras.lua:1926>
Locals:
id = "Tactical Destruction (countdown)"
cloneId = nil
(*temporary) = nil
(*temporary) = "script ran too long"
clones = <table> {
Raszageth Fulminating Charge Freedom CD Assignments = <table> {
}
Calamitous Strike cast = <table> {
}
Blazing Roar = <table> {
}
Terror Claws = <table> {
}
Constricting Thicket = <table> {
}
Liquid Anchor - List 1 = <table> {
}
Poisonous Javelin normal/heroic (glow) = <table> {
}
斯莫德隆 分担 计时条 = <table> {
}
Sennarth Chilling Blast = <table> {
}
Collapsed Earth = <table> {
}
分担提前高亮 戒律用 (1st wave) = <table> {
}
Noxious Blossom = <table> {
}
Cyclone = <table> {
}
Doom Flame (DoT) = <table> {
}
种子列表 = <table> {
}
Corrupting Shadow/Blazing Heat (say) = <table> {
}
驱散 安排(治疗用) = <table> {
}
Threaded Blast (on you) = <table> {
}
Atal'Dazar Nameplate Important Casts = <table> {
}
M+ KeyInfo = <table> {
}
羽毛时间预警 = <table> {
}
Hurtling Barrage (others) = <table> {
}
虚无之拥 施法条 = <table> {
}
Seared = <table> {
}
Smolderon Orb Soak Traffic Lights = <table> {
}
Searing Claws = <table> {
}
Hellboil = <table> {
}
Molten Swing = <table> {
}
Burning Wound = <table> {
}
花的数量 debuff = <table> {
}
Seeking Inferno assignments = <table> {
}
P3 吐息 文字提示 = <table> {
}
野蛮猛击 施法条 = <table> {
}
幽暗焚烧 吸收条 = <table> {
}
Feather assignment = <table> {
}
Raszageth Volatile Spark Buff Count Nameplate Anchors = <table> {
}
SeedAbuse = <table> {
}
Unstable Gusts = <table> {
}
Oblivion Stacks List = <table> {
}
Web Blast taunt = <table> {
}
Zskarn Add HP Bars = <table> {
}
炽烈增生 计时条 = <table> {
}
Sarkareth Empty Recollection Automarker = <table> {
}
Sarkareth P3 Soon Alert = <table> {
}
P3 正面顺劈 = <table> {
}
Surging Blast (circle) = <table> {
}
Drenched Blades taunt = <table> {
}
P2 吐息 文字提示 = <table> {
}
奔袭之暗 施法条 = <table> {
}
Fyr'alath's Bite cast (co-tank) = <table> {
}
Tindral Dispel Raid Frame Numbers = <table> {
}
Heavy Cudgel = <table> {
}
Flaming Upsurge (co-tank) = <table> {
}
Void Bomb spawns = <table> {
}
Broodkeeper Staff Cast P2 = <table> {
}
Agonizing Claws = <table> {
}
Erupting Bedrock = <table> {
}
Fyrakk P2 Add CC List TSU = <table> {
}
Raszageth Blazing Roar Cast + Absorb Shield Amount = <table> {
}
不能驱散 debuff 图标 = <table> {
}
Kurog Grimtotem Don't Soak Alert = <table> {
}
Priest Glow - Casting Symbol/Hymn - Pink A = <table> {
}
Broodkeeper Egg Wake Up Cast = <table> {
}
Raid WeakAuras Helper Functions 2 = <table> {
}
Shadow Cage/Molten Eruption soon = <table> {
}
Terros Resonating Annihilation = <table> {
}
Intermission say spam = <table> {
}
吸人 = <table> {
}
Electrified Jaws cast (co-tank) = <table> {
}
单驱cd = <table> {
}
Volatile stacks (nameplate) = <table> {
}
Calamitous Strike taunt = <table> {
}
凤凰盯人血条 = <table> {
}
熊 大招 计时条 = <table> {
}
Ignited Essence = <table> {
}
Woven Resonance (co-tank) = <table> {
}
Magma Flow (magic dispel) = <table> {
}
Verdant Matrix = <table> {
}
Flaming Sap = <table> {
}
Stormsurge shield = <table> {
}
Blistering Splinters = <table> {
}
Mass Dispel CDs 2 = <table> {
}
Raszageth Stormsurge Charge Icons = <table> {
}
Volcoross Volcanic Disgorge Soon Text (Bait) = <table> {
}
炽热暮光 吸收条 = <table> {
}
Soulwell Alert = <table> {
}
Rending Charge Auras 2 = <table> {
}
接球 by exrt = <table> {
}
深渊吐息 持续时间 = <table> {
}
小怪出现 = <table> {
}
Black Rook Hold = <table> {
}
Scorchtail Crash = <table> {
}
Waycrest Manor = <table> {
}
Rushing Shadows (stun) = <table> {
}
Searing Carnage Left (No Debuff) = <table> {
}
Dimensional Rift Gain Charges Sound = <table> {
}
Sundered Shadow = <table> {
}
Song of the Dragon = <table> {
}
插矛 分散圈 = <table> {
}
Astral Heat = <table> {
}
P3 别出去 = <table> {
}
Flame Shield = <table> {
2)
1x WeakAuras/WeakAuras.lua:3784: script ran too long
[string "@WeakAuras/WeakAuras.lua"]:3784: in function <WeakAuras/WeakAuras.lua:3783>
[string "=(tail call)"]: ?
[string "@WeakAuras/RegionTypes/Icon.lua"]:388: in function `modify'
[string "@WeakAuras/WeakAuras.lua"]:3280: in function `SetRegion'
[string "@WeakAuras/WeakAuras.lua"]:3345: in function <WeakAuras/WeakAuras.lua:3325>
[string "@WeakAuras/WeakAuras.lua"]:3355: in function `EnsureRegion'
[string "@WeakAuras/WeakAuras.lua"]:1791: in function <WeakAuras/WeakAuras.lua:1649>
[string "@WeakAuras/WeakAuras.lua"]:1858: in function `ScanForLoads'
[string "@WeakAuras/WeakAuras.lua"]:1928: in function <WeakAuras/WeakAuras.lua:1926>
Locals:
data = <table> {
iconSource = -1
wagoID = "qF0IUaIt4"
xOffset = 0
preferToUpdate = false
customText = "function()
return aura_env.config.text
end
"
yOffset = 0
anchorPoint = "CENTER"
cooldownSwipe = true
cooldownEdge = false
actions = <table> {
}
triggers = <table> {
}
internalVersion = 73
progressSource = <table> {
}
animation = <table> {
}
desaturate = false
version = 120
subRegions = <table> {
}
height = 64
load = <table> {
}
useAdjustededMax = false
source = "import"
color = <table> {
}
uid = "AadLw(Yi1C9"
icon = true
keepAspectRatio = false
useAdjustededMin = false
regionType = "icon"
cooldown = true
conditions = <table> {
}
authorOptions = <table> {
}
parent = " 鳞长萨卡雷斯 图标"
anchorFrameType = "SCREEN"
frameStrata = 1
zoom = 0.300000
semver = "1.0.119"
tocversion = 100100
id = "无限迫压"
cooldownTextDisabled = true
alpha = 1
width = 64
useCooldownModRate = false
config = <table> {
}
inverse = false
url = "https://wago.io/qF0IUaIt4/120"
displayIcon = 135782
information = <table> {
}
selfPoint = "RIGHT"
}
triggernum = -10
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "script ran too long"
func = <function> defined @WeakAuras/WeakAuras.lua:3783
mode = "or"
GetTriggerSystem = <function> defined @WeakAuras/WeakAuras.lua:3776
functionName = "CanHaveTooltip"
Reproduction Steps
I only remember seeing this happen on last bosses of a raid (raszageth, sarkareth, fyrakk), (combination of vast amount of auras for single boss + total amount of encounter auras?), but i havent seen it enough to call it easily reproducible
Last Good Version
No response
Screenshots
No response
Export String
No response
Bisector Report
No response
Right, so this complaint has cropped up a few times in discord. I think ironi is correct in their diagnosis of the problem being that there are too many auras installed to correctly load them inside of the (presumably strict) script timeout, at least with our current strategy.
The lazy answer is "eh you probably don't actually need that many auras installed", which I do think is true! But perhaps we can do something to be a bit smarter about which auras to scan on ENCOUNTER_START.
Well I suspect that this is caused by the lazy aura creation I did for DF, and when an encouter starts regions get created. Apparently though, based on the debug information, auras not relevant for the encounter get created and apparently aura creation is too slow.
We can easily simulate an encounter start and check which auras get created.
We (that is rivers) have a tool now which can also do a more fine-grained profiling of the region creation process.
But for both we need an actual complete set of auras from someone affected. So far this bug reports lacks that data.