Details! Damage Meter

Details! Damage Meter

254M Downloads

lua errors after 8.3 release

bellexandria opened this issue ยท 9 comments

commented

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.

commented

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 :(

commented

Have same error all the time since 8.3. Somehow that flag variable sometimes isn't a number, but a string representing spell name...

commented

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
commented

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
commented
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"

commented

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.

commented

I've sent a Beta version for 8.3 which is available at twitch app.

Trying it out now.

commented

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.

commented

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! ^_^