Hekili Priority Helper

Hekili Priority Helper

44M Downloads

Warlock LUA Error

MrSmurfy opened this issue · 9 comments

commented

Warlock rotation gives a lua error during Drain Soul in the latest beta version:

Message: Interface\AddOns\Hekili\Core.lua:521: attempt to compare number with nil
Time: Thu Dec 31 13:38:18 2020
Count: 116
Stack: Interface\AddOns\Hekili\Core.lua:521: attempt to compare number with nil

commented

Please provide a complete ticket with all the required info.

commented

Nevermind.

commented

Understood. Keep in mind that (1) I can't replicate this on my end and (2) I don't know if your selected talents, conduits, soulbinds, covenants, legendary, etc. are causing this to happen for you, because I don't know any of those details about your character.

A complete ticket would have all that information so I can debug.

commented

I didn't think it would be relevant since it's only during the channeling of Drain Soul for it to occur, and I did notice changes to core.lua to do with channeling of spells, so I reacted inappropriate, apologies for that.

The Character data from the Addon:

build: v9.0.2-1.0.32-beta5
level: 60 (60)
class: WARLOCK
spec: affliction

talents: absolute_corruption
    burning_rush
    dark_caller
    dark_soul_misery
    drain_soul
    mortal_coil
    phantom_singularity
    shadow_embrace

pvptalents: none

covenant: night_fae

conduits: focused_malignancy = 4
   shade_of_terror = 5

soulbinds: [niya]
   grove_invigoration = 1
   run_without_tiring = 1
   swift_patrol = 1

sets: none

gear: azurevenom_choker = 1
    cloak_of_enveloping_manifestations = 1
    contaminated_gauze_wristwraps = 1
    darkmoon_deck_putrescence = 1
    deathwalkers_promise = 1
    depraved_physicians_mask = 1
    doubtweavers_handwraps = 1
    fallen_empresss_cord = 1
    leggings_of_lethal_reverberations = 1
    muirnnes_stormforged_signet = 1
    reanimators_mantle = 1
    shadowghast_ring = 1
    sinful_aspirants_insignia_of_alacrity = 1
    sinister_requiem_vestments = 1
    wand_of_arboreal_artifice = 1
    windscale_moccasins = 1

legendaries: perpetual_agony_of_azjaqir = 1

itemIDs: 173069, 178298, 178740, 178759, 178804, 178806, 178851, 178868, 178926, 179322, 180023, 180098, 180115, 182981, 184170, 184783

settings: aoe = 3
    buffPadding = 0
    custom1Name = Custom 1
    custom2Name = Custom 2
    cycle = false
    cycle_min = 6
    damage = true
    damageDots = false
    damageExpiration = 6
    damagePets = false
    damageRange = 0
    debuffPadding = 0
    enabled = true
    gcdSync = true
    maxRefresh = 10
    maxTime = 33
    nameplateRange = 8
    nameplates = false
    package = Affliction
    petbased = false
    potion = spectral_intellect
    potionsReset = 20180919.1
    throttleRefresh = false
    throttleTime = false
    manage_ds_ticks = false

toggles: cooldowns = true
    custom1 = false
    custom2 = false
    defensives = false
    essences = true
    interrupts = false
    mode = automatic
    potions = false

I can provide a snapshot if that also helps.

commented

If you can do it while channeling Drain Soul, and confirm that the error message is happening while that's going on, sure.

You have 8 talents showing there, so I have to admit, I'm kinda confused. Are you in Torghast? (Edit: never mind, found out what's causing that.)

commented

Ah yeah, I guess ShadowEmbrace should just be a passive for Affliction.

Here is the snapshot, I didn't follow the rotation, I just channeled Drain Soul;

New Recommendations for [ Primary ] requested at 14:39:34 ( 71409.30 ); using built-in ( Affliction ) priority.

RECOMMENDATION #1 ( Offset: 0.00, GCD: 0.00, Casting: 0.00 ).

    Resources: mana[ 50000.00 / 50000.00 ], soul_shards[ 3.00 / 5.00 ]
    Checking if I'm casting ( No ) and if it is a channel ( No ).
    No whitelist.
    
    Processing precombat action list [ Affliction - precombat ].
        
        Current recommendation was NO ACTION at +60.00s.
        
        1.   fel_domination ( precombat - 1 )
        The action (fel_domination) is usable at (0.00 + 0.00).
         - the action is ready before the current recommendation (at +0.00 vs. +60.00).
         - this entry's criteria PASSES: time[5.94] > 0 & ! pet.alive[false] & ! buff.grimoire_of_sacrifice.up[false]
        Action chosen:  fel_domination at 0.00!
    
    Completed precombat action list [ Affliction - precombat ].
    Recommendation is fel_domination at 0.00 + 0.00.
    Recommendation #1 is fel_domination at 0.00s (0.00s).
    Used 0.33ms of CPU on 1 prediction(s).

RECOMMENDATION #2 ( Offset: 0.00, GCD: 1.32, Casting: 0.00 ).

    Resources: mana[ 50000.00 / 50000.00 ], soul_shards[ 3.00 / 5.00 ]
    Checking if I'm casting ( No ) and if it is a channel ( No ).
    No whitelist.
    
    Processing precombat action list [ Affliction - precombat ].
        
        Current recommendation was NO ACTION at +60.00s.
        
        1.   fel_domination ( precombat - 1 )
        The action is not ready ( 180.00 ) before our maximum delay window ( 15.00 ) for this query.
        Time spent on this action:  0.02ms
        TimeData:Affliction-precombat-1:fel_domination:0.02
        
        2.   summon_felhunter ( precombat - 2 )
        The action (summon_felhunter) is usable at (0.00 + 1.32).
         - the action is ready before the current recommendation (at +1.32 vs. +60.00).
         - this entry has no criteria to test.
        Action chosen:  summon_felhunter at 1.32!
        Time spent on this action:  0.14ms
        TimeData:Affliction-precombat-2:summon_felhunter:0.14:Post-TTR and Essential:0.07:Post Cycle:0.00:Post Usable:0.03:Post Ready/Clash:0.01:Post Stack:0.00:Pre-Recheck:0.01:Post Recheck:0.00:Action Stored:0.01
        The recommended action (summon_felhunter) is ready within the active GCD; exiting list (precombat).
    
    Completed precombat action list [ Affliction - precombat ].
    
    Processing default action list [ Affliction - default ].
        
        Current recommendation was summon_felhunter at +1.32s.
        The recommended action (summon_felhunter) is ready within the active GCD; exiting list (default).
    
    Completed default action list [ Affliction - default ].
    Recommendation is summon_felhunter at 0.00 + 1.32.
    Recommendation #2 is summon_felhunter at 1.32s (1.32s).
    Queueing summon_felhunter cast finish at 71411.06 [+1.76] on Creature-0-1469-2222-2892-174567-00006C1F55.
    Queued summon_felhunter from 71410.62 to 71411.06 (CAST_FINISH).
    Used 0.74ms of CPU on 2 prediction(s).

RECOMMENDATION #3 ( Offset: 1.32, GCD: 1.32, Casting: 0.44 ).

    There are 1 queued events to review.
    Resources: mana[ 50000.00 / 50000.00 ], soul_shards[ 3.00 / 5.00 ]
    
    Finishing queued event #1 ( CAST_FINISH of summon_felhunter ) due at 0.44 as player is casting and castable spells are not ready.
    Casting: Yes, Channeling: No, Break: No, Check: No
    While advancing by 0.44 to 1.76, summon_felhunter CAST_FINISH occurred at 1.76.
    
    Handling summon_felhunter at 71411.06 (CAST_FINISH).
    false Creature-0-1469-2222-2892-174567-00006C1F55 Creature-0-1469-2222-2892-174567-00006C1F55 true
    Trying to remove summon_felhunter CAST_FINISH from queue.
    Removing 1 from queue.
    Resources: mana[ 50000.00 / 50000.00 ], soul_shards[ 3.00 / 5.00 ]
    
    Time spent on event #1: 0.12ms...
    Resources: mana[ 50000.00 / 50000.00 ], soul_shards[ 3.00 / 5.00 ]
    Checking if I'm casting ( No ) and if it is a channel ( No ).
    No whitelist.
    
    Processing precombat action list [ Affliction - precombat ].
        
        Current recommendation was NO ACTION at +60.00s.
        
        1.   fel_domination ( precombat - 1 )
        The action is not ready ( 178.24 ) before our maximum delay window ( 15.00 ) for this query.
        Time spent on this action:  0.02ms
        TimeData:Affliction-precombat-1:fel_domination:0.02
        
        2.   summon_felhunter ( precombat - 2 )
        The action (summon_felhunter) is unusable at (1.76 + 0.88) because pet is alive.
        Time spent on this action:  0.06ms
        TimeData:Affliction-precombat-2:summon_felhunter:0.06:Post-TTR and Essential:0.03:Post Cycle:0.00:Post Usable:0.02
        
        3.   grimoire_of_sacrifice ( precombat - 3 ) - ability unknown
        Time spent on this action:  0.02ms
        TimeData:Affliction-precombat-3:grimoire_of_sacrifice:0.02
        
        4.   variable ( precombat - 4 )
         - variable.dots_ready will check this script entry ( Affliction:precombat:4 )
        active_dot.corruption[0.00] > 0 & active_dot.agony[0.00] > 0 & active_dot.unstable_affliction[0.00] > 0 & ( ! talent.siphon_life.enabled[false] | active_dot.siphon_life[0.00] > 0 ) & ( dot.phantom_singularity.ticking[false] | ! talent.phantom_singularity.enabled[true] )
        Time spent on this action:  0.03ms
        TimeData:Affliction-precombat-4:variable:0.03:Post-TTR and Essential:0.02
        
        5.   azsharas_font_of_power ( precombat - 5 ) - IsUsableItem
        Time spent on this action:  0.08ms
        TimeData:Affliction-precombat-5:azsharas_font_of_power:0.08
        
        6.   seed_of_corruption ( precombat - 6 )
        We are already in-combat and this pre-combat action is not essential.  Skipping.
        Time spent on this action:  0.02ms
        TimeData:Affliction-precombat-6:seed_of_corruption:0.02
        
        7.   haunt ( precombat - 7 ) - talent [ haunt ] missing
        Time spent on this action:  0.02ms
        TimeData:Affliction-precombat-7:haunt:0.02
        
        8.   shadow_bolt ( precombat - 8 ) - talent [ drain_soul ] disallowed
        Time spent on this action:  0.02ms
        TimeData:Affliction-precombat-8:shadow_bolt:0.02
    
    Completed precombat action list [ Affliction - precombat ].
    
    Processing default action list [ Affliction - default ].
        
        Current recommendation was NO ACTION at +60.00s.
        
        9.   spell_lock ( default - 1 ) - ability unknown
        Time spent on this action:  0.02ms
        TimeData:Affliction-default-1:spell_lock:0.02
        
        10.  devour_magic ( default - 2 ) - ability unknown
        Time spent on this action:  0.02ms
        TimeData:Affliction-default-2:devour_magic:0.02
        
        11.  call_action_list ( default - 3 )
        Criteria for aoe FAIL at +1.76 - active_enemies[1.00] > 3
        
        12.  phantom_singularity ( default - 4 )
        The action (phantom_singularity) is usable at (1.76 + 0.88) with cost of 500 mana.
         - the action is ready before the current recommendation (at +0.88 vs. +60.00).
         - this entry's criteria FAILS: time[8.57] > 30
        0.010000000000002 - true
        There are 1 recheck events.
        Recheck #1 ( +0.89 ) NOT MET: time[8.58] > 30
        Time spent on this action:  0.14ms
        TimeData:Affliction-default-4:phantom_singularity:0.14:Post-TTR and Essential:0.03:Post Cycle:0.00:Post Usable:0.02:Post Ready/Clash:0.01:Post Stack:0.00:Pre-Script:0.00:Post-Script:0.00:Pre-Recheck:0.02:Post-Recheck Times:0.01:Pre-Recheck Loop:0.00:Recheck Loop Start:0.00:Recheck Post-Usable:0.01:Recheck Post-Stack:0.00:Recheck Post-Script:0.00:Recheck Post-Channel:0.00:Recheck Loop End:0.02:Post Recheck Loop:0.00:Post Recheck:0.00
        
        13.  call_action_list ( default - 5 )
        Excluded -1.99 recheck time as it is outside our constraints ( 0.00 - 15.00 ).
        Excluded -1.99 recheck time as it is outside our constraints ( 0.00 - 15.00 ).
        Excluded -1.99 recheck time as it is outside our constraints ( 0.00 - 15.00 ).
        Time-sensitive Criteria FAIL at +1.76 with no valid rechecks - ( covenant.venthyr[false] & dot.impending_catastrophe_dot.ticking[false] & cooldown.summon_darkglare.remains[0.00] < 2 & ( dot.phantom_singularity.remains[0.00] > 2 | ! talent.phantom_singularity.enabled[true] ) ) | ( covenant.night_fae[true] & dot.soul_rot.ticking[false] & cooldown.summon_darkglare.remains[0.00] < 2 & ( dot.phantom_singularity.remains[0.00] > 2 | ! talent.phantom_singularity.enabled[true] ) ) | ( ( covenant.necrolord[false] | covenant.kyrian[false] | covenant.none[false] ) & dot.phantom_singularity.ticking[false] & dot.phantom_singularity.remains[0.00] < 2 )
        
        14.  agony ( default - 6 )
        The action (agony) is usable at (1.76 + 0.88) with cost of 500 mana.
         - the action is ready before the current recommendation (at +0.88 vs. +60.00).
         - this entry's criteria PASSES: dot.agony.remains[0.00] < 4
        Action chosen:  agony at 0.88!
        Time spent on this action:  0.11ms
        TimeData:Affliction-default-6:agony:0.11:Post-TTR and Essential:0.03:Post Cycle:0.00:Post Usable:0.02:Post Ready/Clash:0.01:Post Stack:0.00:Pre-Script:0.00:Post-Script:0.00:Pre-Recheck:0.01:Post Recheck:0.00:Action Stored:0.01
        The recommended action (agony) is ready within the active GCD; exiting list (default).
    
    Completed default action list [ Affliction - default ].
    Recommendation is agony at 1.76 + 0.88.
    Recommendation #3 is agony at 0.88s (2.64s).
    Time spent generating recommendations:  2.60ms

As the lua error occurs it doesn't let me make a snapshot, so this one was taken after, not sure if that matters.

commented

That snapshot doesn't look like you're channeling anything, but that makes sense based on what you described.

Is there more to the error message? Usually there'd be several more lines of text. Do you have BugSack and BugGrabber to collect error messages?

commented

I just installed those, this is the output of Bugsack;

26x Hekili\Core.lua:521: attempt to compare number with nil
[string "@Hekili\Core.lua"]:521: in function `CheckChannel'
[string "@Hekili\Core.lua"]:1487: in function `ProcessHooks'
[string "@Hekili\UI.lua"]:820: in function <Hekili\UI.lua:685>

Locals:
self = <table> {
 GetMacroCastTarget = <function> defined @Hekili\Events.lua:1280
 GetTTD = <function> defined @Hekili\Targets.lua:840
 DeserializeStyle = <function> defined @Hekili\Options.lua:9354
 modules = <table> {
 }
 EmbedAbilityOptions = <function> defined @Hekili\Options.lua:3789
 Scripts = <table> {
 }
 GetDeathClockByGUID = <function> defined @Hekili\Targets.lua:825
 GetPetBasedTargetSpells = <function> defined @Hekili\Targets.lua:88
 After = <function> defined @Hekili\Utils.lua:268
 Run = <function> defined @Hekili\Hekili.lua:263
 UpdateDisplayVisibility = <function> defined @Hekili\UI.lua:1643
 IsEnabled = <function> defined @Decursive\Libs\AceAddon-3.0\AceAddon-3.0.lua:451
 KeybindInfo = <table> {
 }
 RemoveHold = <function> defined @Hekili\State.lua:6017
 GetPetBasedTargetSpell = <function> defined @Hekili\Targets.lua:100
 ToggleHold = <function> defined @Hekili\State.lua:6042
 SpecializationChanged = <function> defined @Hekili\Classes.lua:5138
 UpdateUseItems = <function> defined @Hekili\Events.lua:656
 SetSpecOption = <function> defined @Hekili\Options.lua:3576
 GetDefaults = <function> defined @Hekili\Options.lua:535
 dumpKeyCache = <table> {
 }
 SetEnabledState = <function> defined @Decursive\Libs\AceAddon-3.0\AceAddon-3.0.lua:424
 GetDisplayByName = <function> defined @Hekili\Core.lua:1295
 Options = <table> {
 }
 ReInitialize = <function> defined @Hekili\Core.lua:161
 npUnits = <table> {
 }
 GetAbilityInfo = <function> defined @Hekili\Classes.lua:5084
 State = <table> {
 }
 OnEnable = <function> defined @Hekili\Core.lua:184
 Version = "v9.0.2-1.0.32-beta5"
 CmdLine = <function> defined @Hekili\Options.lua:8938
 IsDisplayActive = <function> defined @Hekili\UI.lua:1742
 SetupPetBasedTargetDetection = <function> defined @Hekili\Targets.lua:114
 ShowDiagnosticTooltip = <function> defined @Hekili\UI.lua:2330
 Notify = <function> defined @Hekili\Options.lua:10059
 OnInitialize = <function> defined @Hekili\Core.lua:61
 NewModule = <function> defined @Decursive\Libs\AceAddon-3.0\AceAddon-3.0.lua:235
 GetErrors = <function> defined @Hekili\Utils.lua:41
 EmbedItemOption = <function> defined @Hekili\Options.lua:3918
 DumpPetBasedTargetInfo = <function> defined @Hekili\Targets.lua:140
 SetPackShareOption = <function> defined @Hekili\Options.lua:3560
 CreateButton = <function> defined @Hekili\UI.lua:1780
 ReleaseHolds = <function> defined @Hekili\State.lua:6074
 Deserialize = <function> defined @BugSack\Libs\AceSerializer-3.0\AceSerializer-3.0.lua:246
 SaveDebugSnapshot = <function> defined @Hekili\Hekili.lua:332
 SetSpecPref = <function> defined @Hekili\Options.lua:3617
 HasSnapped = false
 GetName = <function> defined @Decursive\Libs\AceAddon-3.0\AceAddon-3.0.lua:279
 RunSpellCallbacks = <function> defined @Hekili\Events.lua:289
 GetSpec = <function> defined @Hekili\Classes.lua:5412
 SerializeDisplay = <function> defined @Hekili\Options.lua:9251
 name = "Hekili"
 auditInterval = 1.007000
 ExpireTTDs = <function> defined @Hekili\Targets.lua:1027
 GetEncounterList = <function> defined @Hekili\Options.lua:72
 NewSpecialization = <function> defined @Hekili\Classes.lua:839
 Disable = <function> defined @Decursive\Libs\AceAddon-3.0\AceAddon-3.0.lua:314
 GetUnitByName = <function> defined @Hekili\Targets.lua:51
 LoadingScripts = fals
commented

Thanks for all the info. Incoming fix in -beta6.