lua error with zygor?
bandophahita opened this issue ยท 5 comments
Before You Begin
- I confirm that I have downloaded the latest version of the addon.
- I am not playing on a private server.
- I checked for an existing, open ticket for this issue and was not able to find one.
- I edited the title of this bug report (above) so that it describes the issue I am reporting.
WoW Version
Retail (Dragonflight)
Describe the Issue
I'm getting the following LUA error when both Hekili and Zygor guides are enabled. I dont know lua so any guidance would be appreciated. Am I correct in understanding (from the stack output) that hekili's call in AceTimer is somehow calling a function in zygor's Item-Upgrades?
How to Reproduce
- Enable the latest versions of Zygor (8.1.28024) and Hekili (10.0.2-1.3)
- Click into Zygor (as far as I can tell, do just about anything after game starts)
- witness lua error
Player Information (Link)
build: v10.0.2-1.3
level: 60 (60)
class: HUNTER
spec: beast_mastery
talents: alpha_predator
animal_companion = 1/1
aspect_of_the_beast = 1/1
barbed_shot = 1/1
barbed_wrath = 1/1
beast_cleave = 2/2
beast_master = 2/2
bestial_wrath = 1/1
binding_shackles = 1/1
binding_shot = 1/1
born_to_be_wild = 2/2
brutal_companion = 1/1
cobra_shot = 1/1
counter_shot = 1/1
hunters_avoidance = 1/1
improved_kill_command = 2/2
improved_kill_shot = 1/1
keen_eyesight = 1/2
kill_cleave = 1/1
kill_command = 1/1
kill_shot = 1/1
misdirection = 1/1
multishot = 1/1
natural_mending = 2/2
natures_endurance = 1/1
pack_tactics = 1/1
pathfinding = 1/2
piercing_fangs = 1/1
posthaste = 2/2
rejuvenating_wind = 2/2
scent_of_blood = 2/2
sentinel_owl = 1/1
sentinels_protection = 1/1
stomp = 2/2
survival_of_the_fittest = 1/1
thrill_of_the_hunt = 3/3
training_expert = 2/2
war_orders = 2/2
wild_call = 1/1
pvptalents: none
covenant: night_fae
conduits: cheetahs_vigor = 1
marksmans_advantage = 1
rejuvenating_wind = 1
spirit_attunement = 1
strength_of_the_pack = 1
soulbinds: [niya]
grove_invigoration = 1
niyas_tools_burrs = 1
run_without_tiring = 1
survivors_rally = 1
swift_patrol = 1
sets: none
gear: catastrophe_signet = 1
cyclonic_bracers = 1
cyclonic_chainmail = 1
cyclonic_cinch = 1
cyclonic_cowl = 1
cyclonic_gauntlets = 1
cyclonic_kilt = 1
cyclonic_spaulders = 1
cyclonic_striders = 1
firestorm_cape = 1
initiates_shirt = 1
matriarchs_shell_band = 1
renowned_guild_tabard = 1
scarab_blaster = 1
storm_hunters_insignia = 1
torc_of_calamities = 1
versatile_storm_lure = 1
legendaries: none
itemIDs: 190730, 199364, 199365, 199366, 199367, 199368, 199369, 199370, 199371, 199382, 199383, 199386, 199555, 199645, 201302, 69210, 85508
settings: aoe = 3
buffPadding = 0
combatRefresh = 0.1
custom1Name = Custom 1
custom2Name = Custom 2
cycle = false
cycle_min = 6
damage = true
damageDots = false
damageExpiration = 3
damageOnScreen = true
damagePets = false
damageRange = 0
debuffPadding = 0
enabled = true
enhancedRecheck = false
gcdSync = true
maxTime = 10
nameplateRange = 8
nameplates = false
noFeignedCooldown = false
package = Beast Mastery
petbased = false
potion = spectral_agility
regularRefresh = 0.5
throttleRefresh = false
throttleTime = false
avoid_bw_overlap = false
barbed_shot_grace_period = 0.5
check_pet_range = true
toggles: cooldowns = false
custom1 = false
custom2 = false
defensives = false
essences = true
interrupts = false
mode = automatic
potions = false
keybinds:
arcane_shot = 9 [01]
aspect_of_the_cheetah = G [06]
aspect_of_the_turtle = N0 [04]
barbed_shot = R [06]
bestial_wrath = 1 [01]
binding_shot = 6 [01]
bottled_flayedwing_toxin = N7 [03]
cobra_shot = E [06]
counter_shot = X [06]
disengage = M3 [06]
eagle_eye = N9 [03]
exhilaration = C [06]
eyes_of_the_beast = SF2 [04]
feign_death = SN/ [04]
flare = H [06]
freezing_trap = SF4 [04]
hunters_mark = F [06]
kill_command = 2 [01]
kill_shot = 3 [01]
mend_pet = 4 [01]
misdirection = V [06]
multishot = Q [06]
primal_rage = 8 [01]
sentinel_owl = SM3 [06]
summon_pet = SF6 [05]
survival_of_the_fittest = 5 [01]
wing_clip = Z [06]
warnings: none
Error Messages (Link)
1x Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:1402: attempt to compare number with nil
[string "@Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua"]:1402: in function `ShowEquipmentChangePopup'
[string "@Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua"]:853: in function `ProcessPossibleUpgrades'
[string "@Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua"]:823: in function `func'
[string "@Interface/AddOns/Hekili/Libs/AceTimer-3.0-17/AceTimer-3.0.lua"]:57: in function <...ace/AddOns/Hekili/Libs/AceTimer-3.0/AceTimer-3.0.lua:50>
Locals:
self = <table> {
ResetWeaponQueue = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:515
BagsItems = <table> {
}
EquipPopup = ZygorItemPopup {
}
GetItemUniqueness = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:129
ProcessPossibleUpgrades = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:826
EquippedItems = <table> {
}
SetBadUpgrade = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:859
ShowEquipmentChangePopup = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:1289
SBICounter = 2
Equip = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:1420
ProcessWeaponQueue = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:533
GetStatChange = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:351
ScoreBagsItemsTimer = <table> {
}
UniqueEquipped = <table> {
}
ShowEquipmentChangeNotification = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:871
ScoreEquippedItems = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:55
CanUseUniqueItem = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:139
UpgradeQueueCount = 1
BadUpgrades = <table> {
}
ScoredEquippedItems = true
IsUpgrade = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:270
ShowGearReport = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:1195
UpgradeQueue = <table> {
}
ScanBagsForUpgrades = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:665
CreatePopup = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:922
ScoreBagsItems = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:698
ScoreEquippedItemsTimer = <table> {
}
QueueWeapon = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:467
}
slot = 14
n_item = <table> {
bagslot = 4
change = 100
score = 0.280000
slot = 14
itemlink = "item:65109::::::::60:253::5:1:9053:2:9:35:28:818:::::"
bagnum = 4
}
new_item = <table> {
stats = <table> {
}
validated = true
class = 4
itemlinkfull = "|cffa335ee|Hitem:65109::::::::60:253::5:1:9053:2:9:35:28:818:::::|h[Vial of Stolen Memories]|h|r"
validstatus = "ok"
itemlink = "item:65109::::::::60:253::5:1:9053:2:9:35:28:818:::::"
quality = 4
valid = true
type = "INVTYPE_TRINKET"
slot_2 = 14
minlevel = 35
score = 0.280000
bagslot = 4
bagnum = 4
slot = 13
subclass = 0
twohander = false
itemlvl = 114
itemid = 65109
texture = 443371
}
c_item = <table> {
type = "INVTYPE_TRINKET"
score = 0
itemid = 199645
itemlink = "item:199645::::::::60:253::26:2:6652:8936:2:9:60:28:2172:::::"
quality = 3
}
current_item = <table> {
stats = <table> {
}
score = 0
class = 4
itemlinkfull = "|cff0070dd|Hitem:199645::::::::60:253::26:2:6652:8936:2:9:60:28:2172:::::|h[Storm Hunter's Insignia]|h|r"
validstatus = "ok"
itemlink = "item:199645::::::::60:253::26:2:6652:8936:2:9:60:28:2172:::::"
quality = 3
valid = true
type = "INVTYPE_TRINKET"
slot_2 = 14
minlevel = 60
validated = true
slot = 13
subclass = 0
twohander = false
itemid = 199645
texture = 133431
}
pair_item = nil
F = ZygorItemPopup {
0 = <userdata>
AnchorTo = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:1187
SetText = <function> defined @Interface/AddOns/ZygorGuidesViewer/StaticPopups.lua:127
OnBackdropLoaded = <function> defined @Interface/SharedXML/Backdrop.lua:152
GetBackdropColor = <function> defined @Interface/SharedXML/Backdrop.lua:390
OnAccept = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:1093
logo = Texture {
}
logobackground = Frame {
}
RightEdge = Texture {
}
debug = <function> defined @Interface/AddOns/ZygorGuidesViewer/Item-Upgrades.lua:1177
ClearBackdrop = <function> defined @Interface/SharedXML/Backdrop.lua:282
Show = <function> defined @Interface/AddOns/ZygorGuidesViewer/StaticPopups.lua:134
OnEscape = <fun
Additional Information
The error appears to cut off at the bottom. I'm guessing there is a length limit?
I honestly don't know if this is a bug per se with either add-on, but rather some sort of integration issue. I wish I knew lua or had some debugger that could provide insight as to what's happening. I'm hoping you can point me in the right direction to troubleshoot this one.
Contact Information
bando#9351
Including cross post link to the zygor forum for clarity - https://zygorguides.com/forum/forum/technical-support/zygor-guide-viewer/190316-lua-errors-possible-integration-issue-with-hekili#post190322
It would appear there are 3 copies of AceTimer, each in a libs folder under hekili, zygor, and datastore.
Normally I would assume they are isolated within namespaces under each addon. Does lua load 3 different copies of acetimer or does only the first one load and this is perhaps an order of events issue?
Ace3 includes version control of timers and so all end up using the latest version. In this case, it seems my addon was built most recently and has the newest Ace3 / AceTimer included.
You could try installing Ace3 directly and seeing if you get Zygor errors without my addon loaded.
Alternatively, it's possible that when my addon loads item data, Zygor isn't sanity checking GET_ITEM_INFO_RECEIVED events. That's been an issue with other addons before.
Zygor was just updated and I'm not getting errors from Zygor/Hekili now. Other stuff, yes. I might have a Titan Panel/Hekili issue, lol.