WeakAuras

WeakAuras

200M Downloads

Lua Error + Can not open weakauras options

korolex1 opened this issue ยท 3 comments

commented

Description

Imported https://wago.io/L23JW4TwR mid way through my game crashed and now this happens:

I type /wa, and i expect to see the options. I see nothing, all weakauras disabled except 2 for some reason when profiling.

WeakAuras Version

5.3.1

World of Warcraft Flavor

Retail (Default)

Tested with only WeakAuras

  • Yes
  • No

Lua Error

2x [string "return function() return "]:14: attempt to concatenate field 'newFeatureString' (a table value)
[string "return function() return "]:14: in function `tsuConditionVariables'
[string "@WeakAuras/GenericTrigger.lua"]:4121: in function `GetTriggerConditions'
[string "@WeakAuras/WeakAuras.lua"]:3740: in function `GetTriggerConditions'
[string "@WeakAuras/Conditions.lua"]:656: in function <WeakAuras/Conditions.lua:648>
[string "@WeakAuras/Conditions.lua"]:756: in function `LoadConditionFunction'
[string "@WeakAuras/WeakAuras.lua"]:2973: in function <WeakAuras/WeakAuras.lua:2873>
[string "@WeakAuras/WeakAuras.lua"]:3029: in function `Add'
[string "@WeakAuras/WeakAuras.lua"]:2504: in function `AddMany'
[string "@WeakAuras/WeakAuras.lua"]:1150: in function <WeakAuras/WeakAuras.lua:1121>

[string "@WeakAuras/WeakAuras.lua"]:1273: in function <WeakAuras/WeakAuras.lua:1224>

https://gyazo.com/2b838b09f5d9cf4e81bef97e04950de5

Reproduction Steps

  1. Logging in
  2. Reloading

Last Good Version

5.3.1

Screenshots

No response

Export String

https://wago.io/L23JW4TwR this was the weakaura i was mid importing and my game crashed and am experiencing the above issue.
commented

Can you include your weakauras settings?

commented

The bug here is that the aura is trying to read WeakAuras.newFeatureString (which is blocked) inside of custom variables. The code that evaluates custom variables isn't set up to handle errors like this, unfortunately.

else
triggerFunc = WeakAuras.LoadFunction("return "..(trigger.custom or ""), id);
if (trigger.custom_type == "stateupdate") then
tsuConditionVariables = WeakAuras.LoadFunction("return function() return \n" .. (trigger.customVariables or "") .. "\n end");
end

@InfusOnWoW i think this aura is actually a good argument for why newFeatureString shouldn't be internalized, this is a pretty clever use of it for custom code.

commented

in any case, we should definitely harden custom variable parsing against this kind of error in the future.