Core Loot Manager DKP & EPGP & SK

Core Loot Manager DKP & EPGP & SK

2M Downloads

History tab breaks sometimes when switching to another tab

crimsoncoyote opened this issue ยท 11 comments

commented

To Reproduce
Steps to reproduce the behavior:

  1. Open unified gui
  2. Open History tab
  3. Hover over some things in the history tab
  4. Switch to another tab
  5. Switch back to history (should throw lua error here)
  6. History should be visible still
  7. Switch back to other tab
  8. Switch back to history (another lua error here) and history UI isn't loaded properly

AddOn and Game Version:
2.5.4

Video of issue: https://youtu.be/U9fb6amYGU8

Errors:

Message: ...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:32: attempt to index field '?' (a nil value)
Time: Wed Oct 26 00:36:36 2022
Count: 1
Stack: ...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:32: attempt to index field '?' (a nil value)
[string "=(tail call)"]: ?
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI_History.lua"]:32: in function <...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:31>
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI_History.lua"]:149: in function `fnDoCellUpdate'
[string "@Interface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua"]:849: in function `Refresh'
[string "@Interface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua"]:340: in function `SortData'
[string "@Interface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua"]:613: in function <...rface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua:610>
[string "=(tail call)"]: ?
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI.lua"]:60: in function <...AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI.lua:56>
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI.lua"]:109: in function <...AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI.lua:103>
[string "=[C]"]: ?
[string "@Interface\AddOns\ClassicLootManager\Libs\AceGUI-3.0\AceGUI-3.0.lua"]:72: in function <...ns\ClassicLootManager\Libs\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Interface\AddOns\ClassicLootManager\Libs\AceGUI-3.0\AceGUI-3.0.lua"]:306: in function `Fire'
[string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua"]:342: in function `SelectTab'
[string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua"]:200: in function <...Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua:197>
Message: ...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:32: attempt to index field '?' (a nil value)
Time: Wed Oct 26 00:36:37 2022
Count: 2
Stack: ...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:32: attempt to index field '?' (a nil value)
[string "=[C]"]: ?
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI_History.lua"]:32: in function <...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:31>
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI_History.lua"]:188: in function `handler'
[string "@Interface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua"]:66: in function `FireUserEvent'
[string "@Interface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua"]:94: in function <...rface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua:92>
Message: ...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:32: attempt to index field '?' (a nil value)
Time: Wed Oct 26 00:36:38 2022
Count: 1
Stack: ...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:32: attempt to index field '?' (a nil value)
[string "=(tail call)"]: ?
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI_History.lua"]:32: in function <...lassicLootManager\Modules\GUI\UnifiedGUI_History.lua:31>
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI_History.lua"]:149: in function `fnDoCellUpdate'
[string "@Interface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua"]:849: in function `Refresh'
[string "@Interface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua"]:513: in function `SetSelection'
[string "@Interface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua"]:493: in function <...rface\AddOns\ClassicLootManager\Libs\lib-st\Core.lua:492>
[string "=(tail call)"]: ?
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI.lua"]:51: in function <...AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI.lua:40>
[string "@Interface\AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI.lua"]:107: in function <...AddOns\ClassicLootManager\Modules\GUI\UnifiedGUI.lua:103>
[string "=[C]"]: ?
[string "@Interface\AddOns\ClassicLootManager\Libs\AceGUI-3.0\AceGUI-3.0.lua"]:72: in function <...ns\ClassicLootManager\Libs\AceGUI-3.0\AceGUI-3.0.lua:70>
[string "@Interface\AddOns\ClassicLootManager\Libs\AceGUI-3.0\AceGUI-3.0.lua"]:306: in function `Fire'
[string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua"]:342: in function `SelectTab'
[string "@Interface\AddOns\Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua"]:200: in function <...Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua:197>

Locals: <none>
commented

I was able to reproduce this consistently about 3/4 of the time after a reload. Closing and reopening the CLM GUI sometimes makes it start working again. There were a couple of times I couldn't get it to break, but I'm not sure why. My guess is the tab the CLM GUI was last on?

I've only tried with other addons enabled so far.

commented

So I see what row can bug out but I am unable to reproduce it even with ElvUI enabled. There must be something else going on. Can you check with other addons disabled?

commented

I'll try today if I can find the time

commented

Disabled ElvUI and was able to reproduce. Probably some other addon. Seemed OK with nothing else/just ElvUI enabled.

I think I'll start with some addons that I know modify tooltips

commented

Hmm, looks like it might be RatingBuster

commented

I do use rating buster myself and have no issues. I feel in the guts some addon i dont use started to meddle with lib-st and it creates some sort of issues

commented

Send me your sv file as I suspect this might be data-dependent

commented

ClassicLootManager.lua.txt
added .txt since github likes that more

commented

Cannot reproduce even with your data. Please verify it happens when CLM is the only addon enabled. I did try with rating buster as you suggested but its not that.

commented

Thanks, I'll check it out.

commented

Reopening because I think I see what the issue is.
This appears to be some kind of timing issue when populating CLM history. It shows up on my end due to RatingBuster, but it's not a direct conflict. I think it affects CLM just enough to cause issues.

This appears to have been introduced here: e544d45
Specifically:

local function ST_GetIsLoot(row)
    return row.cols[5+1].value
end

What ends up happening is we get into the pendingLoot/loading state at https://github.com/ClassicLootManager/ClassicLootManager/blob/master/Modules/GUI/UnifiedGUI_History.lua#L310:

        if UnifiedGUI_History.pendingLoot then
            return {{cols = { {value = ""}, {value = ""}, {value = CLM.L["Loading..."]}, {value = ""}, {value = nil} }}}
        end

We're only returning 5 columns here, but ST_GetIsLoot() is looking for column 6, thus the exception. Not exactly sure how to truly fix it. I tried adding another {value = nil} col at the end and it at least seems to at least prevent the error, but it also gets stuck at the "Loading..." message (until you reload the history tab in some way).