[BUG] /Modules/Analyze.lua:177: attempt to index field '?' (a nil value)
Poisonenvy2 opened this issue ยท 18 comments
Describe the bug
After a scan, chosing the "analyze" tab, and then "money" results in a blank interface and an error shown below.
Client
10. Retail prepatch pt 1.
version of addon - 3.3.0
Error in bugsack:
3x ...erface/AddOns/GuildBankSnapshots/Modules/Analyze.lua:177: attempt to index field '?' (a nil value)
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Analyze.lua"]:177: in function <...erface/AddOns/GuildBankSnapshots/Modules/Analyze.lua:161>
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Analyze.lua"]:438: in function <...erface/AddOns/GuildBankSnapshots/Modules/Analyze.lua:429>
[string "=[C]"]: ?
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64>
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function Fire' [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua"]:342: in function
SelectTab'
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Analyze.lua"]:450: in function GetAnalyzeOptions' [string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:212: in function <...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:205> [string "=[C]"]: ? [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64> [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function
Fire'
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua"]:342: in function SelectTab' [string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:225: in function <...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:216> [string "=[C]"]: ? [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64> [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function
Fire'
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua"]:508: in function `SetSelected'
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua"]:185: in function <...ibs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua:181>
Note - I also tried this after disabling Altoholic and got the same error message.
I don't know how else to do this, but I've linked two versions .. first is a backup of the file (hopefully the correct one!) from prior to the pre-patch update: https://drive.google.com/file/d/13AYwWdIeCCdRxh7JJ6MCmVzNKWSffCwI/view?usp=share_link
The second one is today, following the above error. https://drive.google.com/file/d/13APYJT29II5c__R_HN7UZ6csvHwsueSY/view?usp=share_link
As @zalidthebur mentioned, the first time I tried .. the addon put an error in the chat window stating scan corrupt. I went into the settings on that character and saw there was an option to clear corrupt files and did that. Scanned again and the scan worked. Then I got the lua error when I tried to do the analyze money.
Reload produced the same issue with the Analyze button, but didn't get another "corrupt" message.
Also switched to an alt and tried .. same occurred (the Analyze error, no corruption message).
If those links don't work, or it's the wrong file, let me know. Thank you ;-)
Updated addon. Went in game.
Got "Scan corrupt. Please try again." on accessing guild bank. Worked second time when done manually. So looks okay.
Checked scan and did the analyze money as Poisonevny2 but I had no issues.
But it does look like I've lost all my old scans as only this scan is showing.
I then logged another char in a different guild and got the error below when the scan completed (auto review selected).
Blank report showing for the scan. I did a manual scan and it scanned ok with no errors and log was showing.
Date: 2022-11-01 19:56:58
ID: 1
Error occured in: Global
Count: 1
Message: ...erface/AddOns/GuildBankSnapshots/Modules/Helpers.lua line 58:
bad argument #1 to 'strfind' (string expected, got nil)
Debug:
[string "@Interface/AddOns/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua"]:761:
...Ons/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:717
[string "=(tail call)"]: ?
[string "=[C]"]: strfind()
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Helpers.lua"]:58:
...erface/AddOns/GuildBankSnapshots/Modules/Helpers.lua:56
[string "=[C]"]: sort()
[string "@Interface/AddOns/GuildBankSnapshots/Libs/LibAddonUtils/LibAddonUtils.lua"]:129: pairs()
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Helpers.lua"]:56: GetFilterItems()
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:111:
...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:100
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:210:
...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:205
[string "=[C]"]: ?
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua"]:66:
...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua"]:300: Fire()
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua"]:342: SelectTab()
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:225:
...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:216
[string "=[C]"]: ?
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua"]:66:
...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua"]:300: Fire()
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua"]:522: Select()
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua"]:526: SelectByPath()
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:244:
...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:229
[string "=[C]"]: ?
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua"]:66:
...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua"]:300: Fire()
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0/widgets/AceGUIContainer-DropDownGroup.lua"]:66: SetGroup()
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Frame.lua"]:63: LoadFrame()
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Scan.lua"]:68:
Interface/AddOns/GuildBankSnapshots/Modules/Scan.lua:7
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Scan.lua"]:189:
Interface/AddOns/GuildBankSnapshots/Modules/Scan.lua:155
Locals:
None
AddOns:
Swatter, v3.4.6837 (SwimmingSeadragon)
WowheadLooter, v100000
AchievementsReminder, v
ACP, v3.5.7-5-g619b778
AddonFactory, v9.2.006
AdiBags, vv1.9.46
AdvancedInterfaceOptions, v1.8.1
AllTheThings, vDF-3.0.2
Altoholic, v10.0.003
AskMrRobot, v114
Auctionator, v10.0.3
BadBoy, vv10.0.0
BattlePetDailyTamer, v3.2.1
BattlePetBattleUITweaks, v2.1.3
BattlePetBreedID, vv1.22.3
BuyEmAll, v3.5.12
CanIMogIt, v10.0.0v1.36
ClassTimer, v2.4.90001.1
Collectionator, v0.97
CollectMe, v2.11
ConfirmSP, v0.21.07.06
CovenantAbilityChanger, v1.10.1
DataStore, v2022.10.31
DataStoreAchievements, v2022.10.31
DataStoreAgenda, v10.0.002
DataStoreAuctions, v10.0.001
DataStoreCharacters, v2022.10.30
DataStoreContainers, v10.0.003
DataStoreCrafts, v10.0.001
DataStoreCurrencies, v10.0.001
DataStoreGarrisons, v10.0.003
DataStoreInventory, v10.0.001
DataStoreMails, v2022.10.30
DataStorePets, v10.0.001
DataStoreQuests, v10.0.001
DataStoreReputations, v10.0.001
DataStoreSpells, v2022.10.30
DataStoreStats, v10.0.001
DataStoreTalents, v10.0.001
DBMCore, v99c9f86
DBMStatusBarTimers, v99c9f86
DBMVPVEM, v47b3faf
DeathAlerts, v1.2
Decursive, v2.7.8.11
DejaCharacterStats, vR100000r1
Dejunk, v1.3.3
Details, v#Details.DF.Wrath.10205.146
DetailsEncounterDetails, v
DetailsRaidCheck, v
DetailsStreamer, v
DetailsTinyThreat, v
DetailsVanguard, v
EasyMail, v4.5.1
EasyScrap, v31
FamilyFamiliarHelper, v2.0.1
FocusHealthPercent, v4.0.1
GTFO, v4.69.1
GuildRosterManager, v1.945
GuildBankSnapshots, vv3.3.0
HandyNotes, vv1.6.10
HandyNotesArgus, vv0.36
HandyNotesBattleForAzeroth, v11
HandyNotesBattleForAzerothTreasures, vv28.1
HandyNotesBrokenShore, vv1.49
HandyNotesDungeonLocations, v1.54
HandyNotesLegionTreasures, vv30.1
HandyNotesMistsOfPandariaTreasures, vv23.1
HandynotesPandaria, v1.5.4
HandyNotesShadowlandsTreasures, vv71.2
HandyNotesTreasureHunter, vv29.1
HandyNotesWorldMapButton, v100000.02-Retail
InFlightLoad, v10.0.1
InstanceAchievementTracker, v4.2.0
InterruptNoSpam, v1.8.8
KrowiAchievementFilter, v45.4
LeatrixPlus, v10.0.05
LoggerHeadLite, v1.6.2
LootSpecSwapper, v10.0.0.01
MageNuggets, v8.0.2
MasterPlanA, vA
MaxDps, v10.0.0
MinimalArchaeology, v10.0.0
mOnArsWardrobeHelper, v1.23
MRT, v4690
Notes, v10.0.0
NPCTime, v1.0.9
Ogrilastone, v1.5
PakuTotems, v1.62
PetBattleMaster, v9.0.1
PetTracker, v10.0
PetTrackerConfig, v
PetTrackerJournal, v
Plexus, vv2.4.0
PointBlankSniper, v5.17
ProtoformSynthesisFieldJournal, v1.3.1
QuestSounds, v901-2020.10.14
QuickMark, v
RaidAchieveFilter, v2.0.5
RareScanner, v10.0.0.3
Rematch, v4.14.4
SavedInstances, v10.0.0
SharedMediaCausese, v
SilverDragon, vv2022.22
SilverDragonOverlay, vv2022.22
SilverDragonRangeExtender, vv2022.22
TargetHealthPercent, v5.0
tdBattlePetScript, v10.0.0
tdBattlePetScriptRematch, v80100.01
TellMeWhen, v10.0.1
TidyPlatesThreatPlates, v11.0.4
TLDRMissions, v10.0-003
TomTom, vv3.3.2-release
TradeSkillMaster, vv4.11.64
TradeSkillMasterAppHelper, vv4.11.0
tullaRange, v10.0.2
VenturePlan, v4.34
WeakAuras, v5.0.5
WorldQuestTracker, vv10.0.0.451-Retail
WoWthingCollector, v10.0.0.1
WQAchievements, vv9.2.5-1
XanDurability, v5.2
ZerethMortisPuzzleHelper, v1.6.0
ZygorGuidesViewer, v8.1
BlizRuntimeLib_enUS v10.0.0.100000
(ck=d65)
Can y'all send a copy of your saved variables? Preferably if you have from before the update.
I'm guessing the data is still in the savedvariable due to it's current size. Just not being displayed.
Current = https://drive.google.com/file/d/1mTiPqS_0x8ku-tsd8iVgz_NG1A7v9dIw/view?usp=sharing
Old = https://drive.google.com/file/d/1DORJa70GJGt9EppmvCZ2kX43sL7BNN4e/view?usp=sharing
Thank you both for the SVs; it makes it so much easier to troubleshoot with data that I might not. I've pushed v3.4.0, which I hope fixes these errors. I used both of your SVs to test this out, so I'm crossing my fingers.
Make sure to log out of the game, delete your saved variables and place a copy of your old ones in the folder, update to 3.4.0, and then login. The fixes I've implemented will only work with your original SVs, not the ones that had already been processed.
Might have been a glitch .. just temporarily set auto-scan to 1 min, removed something from the vault and then opened it again, and it scanned and produced the report fine.
I'll wait and make sure it fixed @zalidthebur as well, before closing. Thank you :-)
Oh my god, I'm so sorry for this wall of rubbish. Was literally about to log out of wow, happy it was fixed .. and saw an error.
It seems to be linked to one specific date .. perhaps a corrupt record? It's for the 14th October, and when I select Analyze > Money I get the following:
21x ...erface/AddOns/GuildBankSnapshots/Modules/Analyze.lua:177: attempt to index field '?' (a nil value)
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Analyze.lua"]:177: in function <...erface/AddOns/GuildBankSnapshots/Modules/Analyze.lua:161>
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Analyze.lua"]:438: in function <...erface/AddOns/GuildBankSnapshots/Modules/Analyze.lua:429>
[string "=[C]"]: ?
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64>
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function Fire' [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua"]:342: in function
SelectTab'
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Analyze.lua"]:450: in function GetAnalyzeOptions' [string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:212: in function <...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:205> [string "=[C]"]: ? [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64> [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function
Fire'
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua"]:342: in function SelectTab' [string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:225: in function <...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:216> [string "=[C]"]: ? [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64> [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function
Fire'
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua"]:508: in function `SetSelected'
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TreeGroup.lua"]:185: in function <...ibs/AceGUI-3.0/widgets/AceGUIContainer-TreeGroup.lua:181>
By the way, just as an aside, I've noticed that now when I open GBS, each time I have to select which guild (We've transferred realm and then guild names a few times, so essentially it's the same guild). But when I type /gbs, the drop down is empty. Could perhaps do with an option to create a default for there - either manually in the settings, or for it to auto-detect the current guild and default to that.
I've pushed another update to fix the error.
If you are getting a lot of corrupted scans, try changing the delay under settings>scans>delay. This will add a delay to the scan to give it more time to query the bank log. Corrupt scans are typically due to the data not being completely available yet.
As far as the default guild, unless I'm misunderstanding what you mean, the option to choose your default guild is still in the addon. Go to settings>preferences>default guild.
So .. on mine, there is no option for default guild under settings > preferences. If I let it do an autoscan (which I've added a bit longer delay to, now), it will automatically show my current guild when the addon pops up. If I type /gbs to open it, the window is empty, and I have to select the guild from the drop down.
There is an error in bugsack that looks like it might be relevant:
5x ...ace/AddOns/GuildBankSnapshots/GuildBankSnapshots.lua:79: bad argument #3 to 'gsub' (string/function/table expected)
[string "=[C]"]: in function gsub' [string "@Interface/AddOns/GuildBankSnapshots/GuildBankSnapshots.lua"]:79: in function
GetGuildDisplayName'
[string "@Interface/AddOns/GuildBankSnapshots/Modules/Settings.lua"]:324: in function member' [string "@Interface/AddOns/Altoholic/Libs/AceConfig-3.0-3/AceConfigDialog-3.0-85/AceConfigDialog-3.0.lua"]:214: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:163> [string "@Interface/AddOns/Altoholic/Libs/AceConfig-3.0-3/AceConfigDialog-3.0-85/AceConfigDialog-3.0.lua"]:1217: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:1101> [string "@Interface/AddOns/Altoholic/Libs/AceConfig-3.0-3/AceConfigDialog-3.0-85/AceConfigDialog-3.0.lua"]:1630: in function
FeedGroup'
[string "@Interface/AddOns/Altoholic/Libs/AceConfig-3.0-3/AceConfigDialog-3.0-85/AceConfigDialog-3.0.lua"]:1555: in function <...nfig-3.0/AceConfigDialog-3.0/AceConfigDialog-3.0.lua:1539>
[string "=[C]"]: ?
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:66: in function <...face/AddOns/Altoholic/Libs/AceGUI-3.0/AceGUI-3.0.lua:64>
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/AceGUI-3.0.lua"]:300: in function Fire' [string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua"]:342: in function
SelectTab'
[string "@Interface/AddOns/Altoholic/Libs/AceGUI-3.0-41/widgets/AceGUIContainer-TabGroup.lua"]:200: in function <...Libs/AceGUI-3.0/widgets/AceGUIContainer-TabGroup.lua:197>
On the plus side, I'm not getting the previous error any more :P
Sorry for the late response.
Seems to be working with v3.4.2
There is no default guild option as per @Poisonenvy2.
I've also noticed the Frequency Measure does not seem to be working. Changed it to 1 minute and no scans are happening.
I've also increased the delay to 1 minute as I was having blank reports every so often before the DF patch.
The delay is in seconds, though I see that I did not make that clear anywhere in the addon. Since the rewrite, I haven't had a chance to document very well. Are you still having issues with blank reports even with the increased delay?
Also, even with v.3.4.2, you aren't seeing a default guild option under settings>preferences>default guild?
As far as the frequency measure, I'll need to look into that further. I have not yet addressed this in the latest push (v3.4.3).
I've now updated to 3.4.3.
/gbs now shows the option for default guild (plus format preference), along with the scan shortcut options. However, I would expect that, once I'd set the default guild, next time I opened the addon from /gbs, it would default to that guild .. but it doesn't - still the blank page with a blank selection box (although using the dropdown does, of course, allow the option to choose a guild). Having said that .. once I did a /reload .. it worked. After a reload, /gbs brought up the review screen of the default guild.
I checked the guild bank auto-scan and it seemed to work fine. I'd set it to delay at 0.99 seconds (I was aiming for 1, but it was close enough!)
Thank you for all your work on this .. it's a great addon :-) If you need any additional information, or help with testing, please let me know.
@zalidthebur
Frequency should be fixed. As a note, the frequency is based on the last valid scan saved, not the last time scanned. Thus, if you scan and there are no changes, no scan limit will be implemented. Once a change is detected and the scan is saved, the frequency limit begins.
@Poisonenvy2
If you already have something selected manually from the dropdown, setting the default guild will not change that dropdown. If the dropdown is empty, it should update to the new default guild. However, when reopening with /gbs, it doesn't necessarily update the dropdowns, but restores what was there previously, so you would need to select the dropdown. After the reload it should be irrelevant.
I'll just wait for an update from @zalidthebur but I think we're all sorted then .. hopefully! Thank you so much for your help and quick updates/fixes.
V 3.4.2 does have the guild options. I forgot to check it after updating and was commenting on the previous version. My bad.
I actually guessed the delay was seconds and changed it from the default of 0.5 to 1 second.
I know see how the Frequency Measure works. It will do a scan on opening the guils bank after that duration expires. So setting it to 1 minute, waiting for 1 minute and then opening the guild bank works. I was leaving the guild bank open thinking it would scan whilst it was open.
All looks good to me :-)
This was with v 3.4.2
Many thanks for all your work.