Warlock LUA Error
MrSmurfy opened this issue · 9 comments
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
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.
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.
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.)
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.
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?
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