Questie

Questie

124M Downloads

QuestieOptionsTracker 'attempt to index field' FadeMMBTicker/FadeQIBTicker (a nil value)

kristinclemens opened this issue ยท 1 comments

commented

Bug description

Checking and unchecking the Questie Tracker Options Fade Min/Max BTNs and Fade Quest Item BTNs several times results in attempting to call FadeMMBTicker:Cancel() or FadeQIBTicker:Cancel() on a nil value. Glancing at the code, it looks like it's probably a race condition, but I'm not familiar enough with lua or how Tickers work to know how to fix it.

This is reproducible by checking and unchecking either of those options several times back to back. It doesn't have to be super rapid, ~1/2 second apart is enough to reproduce the error.

Message: ...Modules\Options\TrackerTab\QuestieOptionsTracker.lua:244: attempt to index field 'FadeQIBTicker' (a nil value)
Time: Sat Feb 27 11:52:26 2021
Count: 6
Stack: ...Modules\Options\TrackerTab\QuestieOptionsTracker.lua:244: attempt to index field 'FadeQIBTicker' (a nil value)
...Modules\Options\TrackerTab\QuestieOptionsTracker.lua:244: in function <...Modules\Options\TrackerTab\QuestieOptionsTracker.lua:230>
Interface\SharedXML\C_TimerAugment.lua:16: in function <Interface\SharedXML\C_TimerAugment.lua:14>

Locals: (*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'FadeQIBTicker' (a nil value)"
QuestieTracker = <table> {
 HookBaseTracker = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2066
 MoveDurabilityFrame = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1114
 Enable = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1152
 _alreadyHooked = true
 Expand = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1198
 _GetNumQuestWatches = <function> defined =[C]:-1
 GetBaseFrame = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1084
 FadeMMBTickerValue = -0.000000
 UpdateQuestProximityTimer = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2398
 started = true
 FocusQuest = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2024
 ResetDurabilityFrame = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1109
 Initialize = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:56
 Disable = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1166
 Unhook = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2052
 RemoveQuest = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2216
 _order = <table> {
 }
 FocusObjective = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1984
 private = <table> {
 }
 CheckDurabilityAlertStatus = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1128
 Untrack = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2042
 _IsQuestWatched = <function> defined =[C]:-1
 IsExpanded = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1204
 UnFocus = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1935
 utils = <table> {
 }
 Update = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1208
 _alreadyHookedSecure = true
 Collapse = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1192
 Toggle = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1178
 ResetLinesForChange = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2199
 menu = <table> {
 }
 FadeQIBTickerValue = -0.000000
 ResetLocation = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1088
}
_QuestieTracker = <table> {
 ItemButtons = <table> {
 }
 trackerLineWidth = 187.500000
 AutoConvertSetPoint = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTrackerPrivates.lua:126
 StartFadeTicker = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1853
 baseFrame = Questie_BaseFrame {
 }
 highestIndex = 8
 CreateTrackedQuestsFrame = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:569
 OnResizeStop = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTrackerPrivates.lua:113
 trackedQuestsFrame = Questie_TrackedQuests {
 }
 GetNextItemButton = <function> defined @Interface\AddOns\Questie\Modules\T
Message: ...Modules\Options\TrackerTab\QuestieOptionsTracker.lua:206: attempt to index field 'FadeMMBTicker' (a nil value)
Time: Sat Feb 27 11:53:53 2021
Count: 4
Stack: ...Modules\Options\TrackerTab\QuestieOptionsTracker.lua:206: attempt to index field 'FadeMMBTicker' (a nil value)
...Modules\Options\TrackerTab\QuestieOptionsTracker.lua:206: in function <...Modules\Options\TrackerTab\QuestieOptionsTracker.lua:194>
Interface\SharedXML\C_TimerAugment.lua:16: in function <Interface\SharedXML\C_TimerAugment.lua:14>

Locals: (*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'FadeMMBTicker' (a nil value)"
QuestieTracker = <table> {
 HookBaseTracker = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2066
 MoveDurabilityFrame = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1114
 Enable = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1152
 _alreadyHooked = true
 Expand = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1198
 _GetNumQuestWatches = <function> defined =[C]:-1
 GetBaseFrame = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1084
 FadeMMBTickerValue = -0.000000
 UpdateQuestProximityTimer = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2398
 started = true
 FocusQuest = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2024
 ResetDurabilityFrame = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1109
 Initialize = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:56
 Disable = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1166
 Unhook = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2052
 RemoveQuest = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2216
 _order = <table> {
 }
 FocusObjective = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1984
 private = <table> {
 }
 CheckDurabilityAlertStatus = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1128
 Untrack = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2042
 _IsQuestWatched = <function> defined =[C]:-1
 IsExpanded = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1204
 UnFocus = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1935
 utils = <table> {
 }
 Update = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1208
 _alreadyHookedSecure = true
 Collapse = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1192
 Toggle = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1178
 ResetLinesForChange = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:2199
 menu = <table> {
 }
 FadeQIBTickerValue = -0.000000
 ResetLocation = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1088
}
_QuestieTracker = <table> {
 ItemButtons = <table> {
 }
 trackerLineWidth = 187.500000
 AutoConvertSetPoint = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTrackerPrivates.lua:126
 StartFadeTicker = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:1853
 baseFrame = Questie_BaseFrame {
 }
 highestIndex = 8
 CreateTrackedQuestsFrame = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTracker.lua:569
 OnResizeStop = <function> defined @Interface\AddOns\Questie\Modules\Tracker\QuestieTrackerPrivates.lua:113
 trackedQuestsFrame = Questie_TrackedQuests {
 }
 GetNextItemButton = <function> defined @Interface\AddOns\Questie\Modules\T

Questie version

v6.2.5

commented

Hey @kristinclemens ,

Thanks for the write-up. The tracker is getting completely re-written for BC and this likely won't be an issue any more then. You can keep an eye on it as we level. (=