nikkisaurus / GuildBankSnapshots

5 stars 1 forks source link

[BUG] /Modules/Analyze.lua:177: attempt to index field '?' (a nil value) #8

Closed Poisonenvy2 closed 1 year ago

Poisonenvy2 commented 1 year ago

Describe the bug After a scan, chosing the "analyze" tab, and then "money" results in a blank interface and an error shown below.

Client

  1. 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 "@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 functionSelectTab' [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 "@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 functionSelectTab' [string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:225: in function <...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:216>

[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 functionSetSelected' [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.

zalidthebur commented 1 year ago

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:

  ...Ons/TradeSkillMaster/LibTSM/Service/ErrorHandler.lua:717
  ...erface/AddOns/GuildBankSnapshots/Modules/Helpers.lua:56

[string "@Interface/AddOns/GuildBankSnapshots/Libs/LibAddonUtils/LibAddonUtils.lua"]:129: pairs() string "@Interface/AddOns/GuildBankSnapshots/Modules/Helpers.lua":56: GetFilterItems()

  ...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:100
  ...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:205
  ...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()

  ...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:216
  ...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()

  ...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:229
  ...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()

  Interface/AddOns/GuildBankSnapshots/Modules/Scan.lua:7
  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)

nikkisaurus commented 1 year ago

Can y'all send a copy of your saved variables? Preferably if you have from before the update.

Poisonenvy2 commented 1 year ago

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 ;-)

zalidthebur commented 1 year ago

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

nikkisaurus commented 1 year ago

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.

Poisonenvy2 commented 1 year ago

I've done that .. no error now, and I have my history back. The addon auto scanned .. however, the scan results are empty? (Edit to say .. the scan results for today are empty .. the previous ones seem okay)

image

Poisonenvy2 commented 1 year ago

Ahh .. I did a manual scan, and it worked. I don't know if that was a one off glitch, or if it's linked to auto-scanning. I'll keep an eye on it. image

Poisonenvy2 commented 1 year ago

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

Poisonenvy2 commented 1 year ago

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 "@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 functionSelectTab' [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 "@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 functionSelectTab' [string "@Interface/AddOns/GuildBankSnapshots/Modules/Review.lua"]:225: in function <...terface/AddOns/GuildBankSnapshots/Modules/Review.lua:216>

[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 functionSetSelected' [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.

nikkisaurus commented 1 year ago

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.

Poisonenvy2 commented 1 year ago

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.

image

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 functionGetGuildDisplayName' [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 functionFeedGroup' [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 "@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 functionSelectTab' [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

nikkisaurus commented 1 year ago

Try v3.4.2

zalidthebur commented 1 year ago

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.

nikkisaurus commented 1 year ago

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).

Poisonenvy2 commented 1 year ago

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.

nikkisaurus commented 1 year ago

v3.4.4

@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.

Poisonenvy2 commented 1 year ago

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.

zalidthebur commented 1 year ago

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.