lua errors after 8.3 release
bellexandria opened this issue ยท 9 comments
Before Start!
Make sure the bug also happen when Details! is the only addon enabled.
Game and Details! version
Use /details to grab these two.
Details Version R7229
Game Version 8.2.5 (but really 8.3?!?!)
Describe the bug
-
Steps to Reproduce (what did you do to make the bug happen):
I was in combat -
Result (what happens when you follow the steps above):
Lots of errors, the stack trace above is from an Eternal Palace run. I see it in world combat also though. -
Expected (what you think the expected behavior would be when following the steps):
No errors -
When the bug started (a date, wow path release, details update, etc)?
8.3 release -
Additional information:
Lua Error
Post here lua errors, if you aren't getting any, use /console scriptErrors 1
Message: ...ace\AddOns\Details\classes\container_combatentes.lua:192: bad argument #1 to '_bit_band' (number expected, got string)
Time: Wed Jan 15 22:21:58 2020
Count: 520
Stack: ...ace\AddOns\Details\classes\container_combatentes.lua:192: bad argument #1 to '_bit_band' (number expected, got string)
[string "=[C]"]: ?
[string "@Interface\AddOns\Details\classes\container_combatentes.lua"]:192: in function <...ace\AddOns\Details\classes\container_combatentes.lua:159>
[string "@Interface\AddOns\Details\classes\container_combatentes.lua"]:575: in function `PegarCombatente'
[string "@Interface\AddOns\Details\core\parser.lua"]:1672: in function <Interface\AddOns\Details\core\parser.lua:1616>
[string "=(tail call)"]: ?
[string "=(tail call)"]: ?
Locals: (*temporary) = "Resounding Protection"
(*temporary) = 1024
(*temporary) = "number expected, got string"
Screenshots
Post images of the bug if necessary.
Combat Log
Include a link to a combatlog file if the error is about not detecting a skill, usable item or item proc.
The log can be as simple as hitting a mob with white damage and using the item/skill.
Other Information
If necessary, add more info here.
After trying to look through the code, I think it has to do with mapping pets to the owners, but I can't tell what changed in the blizzard api to break it :(
Have same error all the time since 8.3. Somehow that flag variable sometimes isn't a number, but a string representing spell name...
I've also received error at line 192 in classes\container_combatenes.lua, but also at line 501.
2x ...aceDetails\classes\container_combatentes.lua:501: bad argument #1 to '_bit_band' (number expected, got string)
[string "=[C]"]: ?
[string "@Details\classes\container_combatentes.lua"]:501: in function `PegarCombatente'
[string "@Details\core\parser.lua"]:1672: in function <Details\core\parser.lua:1616>
[string "=(tail call)"]: ?
[string "=(tail call)"]: ?
Locals:
(*temporary) = "Resounding Protection"
(*temporary) = 12288
(*temporary) = "number expected, got string"
The code looks like this:
if (flag and _bit_band (flag, OBJECT_TYPE_PETGUARDIAN) ~= 0) then
The content of the variables "flag" and "nome" flips, apparently. So, at line 483, I inserted this line to temporarily fix it:
if type(flag) ~= "number" then local temp = nome; nome = flag; flag = temp end
Perhaps the same thing happens at line 192. I'm trying out the same "hotfix" for that one at line 183.
I also got 1 more error to share. It's from core\parser.lua:
43x Details\core\parser.lua:1772: attempt to compare number with nil
[string "@Details\core\parser.lua"]:1772: in function <Details\core\parser.lua:1616>
[string "=(tail call)"]: ?
[string "=(tail call)"]: ?
Locals:
self = <table> {
WipeSourceCache = <function> defined @Details\core\parser.lua:3699
swing = <function> defined @Details\core\parser.lua:303
buff = <function> defined @Details\core\parser.lua:1902
energize = <function> defined @Details\core\parser.lua:2793
dispell = <function> defined @Details\core\parser.lua:3226
spellcast = <function> defined @Details\core\parser.lua:3131
spell_dmg = <function> defined @Details\core\parser.lua:419
unbuff = <function> defined @Details\core\parser.lua:2274
SLT_damage = <function> defined @Details\core\parser.lua:1174
add_defensive_cooldown = <function> defined @Details\core\parser.lua:2924
rangemissed = <function> defined @Details\core\parser.lua:1285
buff_refresh = <function> defined @Details\core\parser.lua:2141
heal = <function> defined @Details\core\parser.lua:1616
environment = <function> defined @Details\core\parser.lua:3669
RevomeActorFromCache = <function> defined @Details\core\parser.lua:5112
RefreshFunctions = <function> defined @Details\core\parser.lua:3993
heal_absorb = <function> defined @Details\core\parser.lua:1574
range = <function> defined @Details\core\parser.lua:308
heal_denied = <function> defined @Details\core\parser.lua:1495
SetParserFunction = <function> defined @Details\core\parser.lua:3940
original_functions = <table> {
}
dead = <function> defined @Details\core\parser.lua:3494
ress = <function> defined @Details\core\parser.lua:3315
add_buff_uptime = <function> defined @Details\core\parser.lua:2597
interrupt = <function> defined @Details\core\parser.lua:3027
break_cc = <function> defined @Details\core\parser.lua:3411
add_debuff_uptime = <function> defined @Details\core\parser.lua:2559
summon = <function> defined @Details\core\parser.lua:1414
swingmissed = <function> defined @Details\core\parser.lua:1281
MonkStagger_damage = <function> defined @Details\core\parser.lua:966
add_cc_done = <function> defined @Details\core\parser.lua:2055
add_bad_debuff_uptime = <function> defined @Details\core\parser.lua:2398
SLT_healing = <function> defined @Details\core\parser.lua:1841
LOTM_damage = <function> defined @Details\core\parser.lua:1108
missed = <function> defined @Details\core\parser.lua:1290
}
token = "SPELL_ABSORBED"
time = 1579127672.743000
who_serial = 0
who_name = "Resounding Protection"
who_flags = "Resounding Protection"
alvo_serial = [REDACTED]
alvo_name = "Crueldrool"
alvo_flags = 1297
alvo_flags2 = 0
spellid = 14938
spellname = true
spelltype = nil
amount = nil
overhealing = 0
absorbed = 0
critical = nil
is_shield = true
cura_efetiva = nil
este_jogador = <table> {
flag_original = 269279
totalabsorb = 0.003909
last_hps = 0
healing_from = <table> {
}
targets = <table> {
}
pets = <table> {
}
totalover_without_pet = 0.003909
timeMachine = 5
healing_taken = 0.003909
totalover = 0.003909
total_without_pet = 0.003909
start_time = 1579127672
classe = "PET"
serial = 0
total = 0.003909
targets_overheal = <table> {
}
targets_absorbs = <table> {
}
nome = "Resounding Protection"
spells = <table> {
}
heal_enemy_amt = 0
displayName = "Resounding Protection"
heal_enemy = <table> {
}
last_event = 1579127672
custom = 0
tipo = 2
on_hold = false
totaldenied = 0.003909
delay = 0
iniciar_hps = true
}
meu_dono = nil
jogador_alvo = <table> {
flag_original = 1297
totalabsorb = 7513.003733
last_hps = 0
healing_from = <table> {
}
timeMachine = 4
targets = <table> {
}
heal_enemy_amt = 0
pets = <table> {
}
totalover_without_pet =
The fix for line 1772 in core\parser.lua was to replace it with this:
if (cura_efetiva and cura_efetiva > 0) then
One more showed up now, in core\parser.lua at line 1698:
7x Details\core\parser.lua:1698: attempt to perform arithmetic on local 'cura_efetiva' (a nil value)
[string "@Details\core\parser.lua"]:1698: in function <Details\core\parser.lua:1616>
[string "=(tail call)"]: ?
[string "=(tail call)"]: ?
Locals:
self = <table> {
WipeSourceCache = <function> defined @Details\core\parser.lua:3699
swing = <function> defined @Details\core\parser.lua:303
buff = <function> defined @Details\core\parser.lua:1902
energize = <function> defined @Details\core\parser.lua:2793
dispell = <function> defined @Details\core\parser.lua:3226
spellcast = <function> defined @Details\core\parser.lua:3131
spell_dmg = <function> defined @Details\core\parser.lua:419
unbuff = <function> defined @Details\core\parser.lua:2274
SLT_damage = <function> defined @Details\core\parser.lua:1174
add_defensive_cooldown = <function> defined @Details\core\parser.lua:2924
rangemissed = <function> defined @Details\core\parser.lua:1285
buff_refresh = <function> defined @Details\core\parser.lua:2141
heal = <function> defined @Details\core\parser.lua:1616
environment = <function> defined @Details\core\parser.lua:3669
RevomeActorFromCache = <function> defined @Details\core\parser.lua:5112
RefreshFunctions = <function> defined @Details\core\parser.lua:3993
heal_absorb = <function> defined @Details\core\parser.lua:1574
range = <function> defined @Details\core\parser.lua:308
heal_denied = <function> defined @Details\core\parser.lua:1495
SetParserFunction = <function> defined @Details\core\parser.lua:3940
original_functions = <table> {
}
dead = <function> defined @Details\core\parser.lua:3494
ress = <function> defined @Details\core\parser.lua:3315
add_buff_uptime = <function> defined @Details\core\parser.lua:2597
interrupt = <function> defined @Details\core\parser.lua:3027
break_cc = <function> defined @Details\core\parser.lua:3411
add_debuff_uptime = <function> defined @Details\core\parser.lua:2559
summon = <function> defined @Details\core\parser.lua:1414
swingmissed = <function> defined @Details\core\parser.lua:1281
MonkStagger_damage = <function> defined @Details\core\parser.lua:966
add_cc_done = <function> defined @Details\core\parser.lua:2055
add_bad_debuff_uptime = <function> defined @Details\core\parser.lua:2398
SLT_healing = <function> defined @Details\core\parser.lua:1841
LOTM_damage = <function> defined @Details\core\parser.lua:1108
missed = <function> defined @Details\core\parser.lua:1290
}
token = "SPELL_ABSORBED"
time = 1579178590.744000
who_serial = 0
who_name = 269279
who_flags = "Resounding Protection"
alvo_serial = [REDACTED]
alvo_name = [REDACTED]
alvo_flags = 1352
alvo_flags2 = 0
spellid = 4361
spellname = true
spelltype = nil
amount = nil
overhealing = 0
absorbed = 0
critical = nil
is_shield = true
cura_efetiva = nil
este_jogador = <table> {
flag_original = 269279
totalabsorb = 0.004610
last_hps = 0
healing_from = <table> {
}
targets = <table> {
}
pets = <table> {
}
totalover_without_pet = 0.004610
timeMachine = 20
healing_taken = 0.004610
totalover = 0.004610
total_without_pet = 0.004610
start_time = 1579178589
classe = "PET"
serial = 0
total = 0.004610
targets_overheal = <table> {
}
targets_absorbs = <table> {
}
nome = "Resounding Protection"
spells = <table> {
}
heal_enemy_amt = 0
displayName = "Resounding Protection"
heal_enemy = <table> {
}
last_event = 1579178590
custom = 0
tipo = 2
on_hold = false
totaldenied = 0.004610
delay = 0
iniciar_hps = true
}
meu_dono = nil
jogador_alvo = <table> {
flag_original = 1352
totalabsorb = 0.007605
last_hps = 0
healing_from = <table> {
}
targets = <table> {
}
enemy = true
pets = <table> {
}
totalover_without_pet = 0.007605
start_time = 0
heali
I'm just going to write this from line 1697 to line 1699:
if (cura_efetiva) then
este_jogador.heal_enemy_amt = este_jogador.heal_enemy_amt + cura_efetiva
end
1x Details\core\parser.lua:1822: bad argument #1 to '_bit_band' (number expected, got string)
[string "=[C]"]: ?
[string "@Details\core\parser.lua"]:1822: in function <Details\core\parser.lua:1616>
[string "=(tail call)"]: ?
[string "=(tail call)"]: ?
Locals:
(*temporary) = "Resounding Protection"
(*temporary) = 64
(*temporary) = "number expected, got string"
Thank you for all the reports and fixes guys, I appreciate a lot!
I've sent a Beta version for 8.3 which is available at twitch app.
To get it: right click Details! on twitch app and select Release Type > Alpha. Doing that you'll be eligible to alpha, beta and release versions.
I've sent a Beta version for 8.3 which is available at twitch app.
Trying it out now.
I've sent a Beta version for 8.3 which is available at twitch app.
Trying it out now.
3 hours and nothing to report.
Thank you for all the reports and fixes guys, I appreciate a lot!
I've sent a Beta version for 8.3 which is available at twitch app.To get it: right click Details! on twitch app and select Release Type > Alpha. Doing that you'll be eligible to alpha, beta and release versions.
Its been working great for me, thanks for the fix! ^_^