WeakAuras / WeakAuras2

World of Warcraft addon that provides a powerful framework to display customizable graphics on your screen.
https://weakauras.wtf
GNU General Public License v2.0
1.18k stars 297 forks source link

5.14 Error: script ran too long on first login #5172

Open Desik opened 2 weeks ago

Desik commented 2 weeks ago

Is there an existing issue for this?

Description

Going from 5.13.2 to 5.14 gives me a Script ran for too long and none of the weakauras show, typing /wa does nothing either, a quick /reloadUI fixes it and the error don't come back.

seems to be only the first time after the update, my weakauras.lua is rather big (33mb) attached below

thanks in advance

WeakAuras Version

WeakAuras 5.14

World of Warcraft Flavor

Cataclysm Classic

World of Warcraft Region

US/NA

Tested with only WeakAuras

I got this issue with only WeakAuras enabled

Lua Error

1x WeakAuras/WeakAuras.lua:1299: script ran too long
[string "@WeakAuras/WeakAuras.lua"]:1299: in function `Login'
[string "@WeakAuras/WeakAuras.lua"]:1386: in function <WeakAuras/WeakAuras.lua:1334>

Locals:
initialTime = 15000
takeNewSnapshots = true
loginThread = <no value>
startTime = 161794208.926200
finishTime = 161805358.110600
ok = true
msg = nil
(*temporary) = true
(*temporary) = nil
(*temporary) = true
(*temporary) = true
(*temporary) = nil
(*temporary) = "script ran too long"
Private = <table> {
 HandleGlowAction = <function> defined @WeakAuras/WeakAuras.lua:3616
 frame_strata_types = <table> {
 }
 DisplayToString = <function> defined @WeakAuras/Transmission.lua:357
 combat_event_type = <table> {
 }
 regions = <table> {
 }
 frameLevels = <table> {
 }
 CheckItemSlotCooldowns = <function> defined @WeakAuras/GenericTrigger.lua:3166
 InitializeEncounterAndZoneLists = <function> defined @WeakAuras/Types_Cata.lua:13
 IsEnvironmentInitialized = <function> defined @WeakAuras/AuraEnvironment.lua:200
 form_types = <table> {
 }
 CleanArchive = <function> defined @WeakAuras/History.lua:25
 UpdateProgressFrom = <function> defined @WeakAuras/RegionTypes/RegionPrototype.lua:567
 RunConditions = <function> defined @WeakAuras/Conditions.lua:840
 tooltip_count = <table> {
 }
 SmoothStatusBarMixin = <table> {
 }
 pet_spec_types = <table> {
 }
 regionOptions = <table> {
 }
 get_zoneId_list = <function> defined @WeakAuras/Types_Cata.lua:75
 checkForSingleLoadCondition = <function> defined @WeakAuras/Prototypes.lua:1224
 author_option_classes = <table> {
 }
 grid_types = <table> {
 }
 non_transmissable_fields = <table> {
 }
 absorb_modes = <table> {
 }
 combatlog_spell_school_types_for_ui = <table> {
 }
 miss_types = <table> {
 }
 CancelDelayedTrigger = <function> defined @WeakAuras/GenericTrigger.lua:944
 centered_types_h = <table> {
 }
 ensurePRDFrame = <function> defined @WeakAuras/WeakAuras.lua:5434
 talent_types = <table> {
 }
 LoadFunction = <function> defined @WeakAuras/AuraEnvironment.lua:652
 reset_swing_spells = <table> {
 }
 spec_types_all = <table> {
 }
 player_target_events = <table> {
 }
 FinishLoadUnload = <function> defined @WeakAuras/WeakAuras.lua:2064
 subRegionTypes = <table> {
 }
 UnregisterAllEveryFrameUpdate = <function> defined @WeakAuras/GenericTrigger.lua:1884
 array_entry_name_types = <table> {
 }
 eclipse_direction_types = <table> {
 }
 StringToTable = <function> defined @WeakAuras/Transmission.lua:301
 RegisterLoadEvents = <function> defined @WeakAuras/WeakAuras.lua:1910
 GetReputationsSorted = <function> defined @WeakAuras/Types.lua:1712
 blend_types = <table> {
 }
 text_automatic_width = <table> {
 }
 EnforceSubregionExists = <function> defined @WeakAuras/RegionTypes/RegionPrototype.lua:1125
 CheckSpellCooldown = <function> defined @WeakAuras/GenericTrigger.lua:3022
 custom_trigger_types = <table> {
 }
 group_types = <table> {
 }
 subRegionOptions = <table> {
 }
 GetProgressValueConstant = <function> defined @WeakAuras/WeakAuras.lua:3927
 text_rotate_types = <table> {
 }
 spec_types = <table> {
 }
 anim_ease_types = <table> {
 }
 item_slot_types = <table> {
 }
 multiUnitUnits = <table> {
 }
 anim_color_types = <table> {
 }
 loaded = <table> {
 }
 Convert = <function> defined @WeakAuras/WeakAuras.lua:2281
 sound_channel_types = <table> {
 }
 CheckCooldownReady = <function> defined @WeakAuras/GenericTrigger.lua:3224
 event_prototypes = <table> {
 }
 NeedToRepairDatabase = <function> defined @WeakAuras/WeakAuras.lua:2358
 AtlasList = <table> {
 }
 RegisterRegionType = <function> defined @WeakAuras/WeakAuras.lua:413
 classification_types = <table> {
 }
 GetCurrencyListSize = <function> defined =[C]:-1
 unit_types_bufftrigger_2 = <table> {
 }
 IsOptionsProcessingPaused = <function> defined @WeakAuras/WeakAuras.lua:1586
 ValueFromPath = <function> defined @WeakA

Reproduction Steps

  1. Update addon
  2. Login to the game
  3. ???
  4. get error

Last Good Version

Weakauras 5.13.2

Screenshots

Saved Variables before updating. WeakAuras.zip

Export String

No response

Bisector Report

No response

BarterClub commented 2 weeks ago

This one is crashing my game. Ill revert down.

emptyrivers commented 2 weeks ago

This is a duplicate of #4911, and the same advice applies - consider, uh, not having so many auras.

I'll see if i can make WeakAuras more resilient to denial of service attacks from its own users, but our ability to handle infinite auras is ultimately limited.

InfusOnWoW commented 1 week ago

@Desik Can you test again? The link in the first comment at https://github.com/WeakAuras/WeakAuras2/pull/5174 has the latest updates.

Desik commented 1 week ago

@Desik Can you test again? The link in the first comment at #5174 has the latest updates.

1x WeakAuras/WeakAuras.lua:4378: script ran too long
[string "@WeakAuras/WeakAuras.lua"]:4378: in function <WeakAuras/WeakAuras.lua:4364>
[string "@WeakAuras/WeakAuras.lua"]:4398: in function `Immediate'
[string "@WeakAuras/WeakAuras.lua"]:1296: in function `Login'
[string "@WeakAuras/WeakAuras.lua"]:1370: in function <WeakAuras/WeakAuras.lua:1318>

Locals:
pool = <table> {
 login = <no value>
}
finish = 910549083.400100
defaultEstimate = 1000
start = 910534083.400800
estimates = <table> {
 login = 500
}
ok = true
val = 500
continue = true
(for generator) = <function> defined =[C]:-1
(for state) = <table> {
 login = <no value>
}
(for control) = "login"
name = "login"
thread = <no value>
estimate = 500
(*temporary) = true
(*temporary) = 500
(*temporary) = true
(*temporary) = 500
(*temporary) = true
(*temporary) = "script ran too long"
debugprofilestop = <function> defined =[C]:-1
debugstack = <function> defined =[C]:-1
threads = <table> {
 normal = <table> {
 }
 SetPriority = <function> defined @WeakAuras/WeakAuras.lua:4339
 instant = <table> {
 }
 urgent = <table> {
 }
 Remove = <function> defined @WeakAuras/WeakAuras.lua:4349
 Immediate = <function> defined @WeakAuras/WeakAuras.lua:4396
 Add = <function> defined @WeakAuras/WeakAuras.lua:4325
 background = <table> {
 }
 frame = Frame {
 }
 prios = <table> {
 }
 size = 1
}