b-morgan / Skillet

World of Warcraft addon
GNU General Public License v3.0
14 stars 5 forks source link

Lua error when opening tradeskill #10

Closed Taliyah9 closed 3 years ago

Taliyah9 commented 3 years ago

Skillet version 4.25

This first happened when trying to filter the tradeskill window by recipe source, then it started happening when even trying to open the tradeskill window at all. It persisted after a reload as well.

Message: Interface\AddOns\Skillet\SkilletData.lua:347: attempt to index field '?' (a nil value) Time: Fri Feb 26 22:34:29 2021 Count: 6 Stack: Interface\AddOns\Skillet\SkilletData.lua:347: attempt to index field '?' (a nil value)

Locals:

b-morgan commented 3 years ago

With the information given, I cannot reproduce this error. If you can reproduce this error, please detail the steps and/or attach a copy of your global saved variables file, Skillet.lua.

To clear the error, try shift-left-click on your profession button to open the Blizzard UI. Clear any filter that is set, and try opening Skillet again (left-click on your profession button). If that doesn't work, logoff, delete the global saved variables file, Skillet.lua, logon and try again.

Taliyah9 commented 3 years ago

There's not much more info to give. I open the skill window, click the right-pointing arrow beside "Filters", choose a filter, and get the above lua error.

At least that's what happened the day I posted. Now choosing a filter does nothing but make the entire window unresponsive. When I close the window, I can't re-open it. Clicking the profession button makes the noise like it's opening, but nothing opens, and shift-clicking on the button does nothing. I have to fully exit the game to get it to work again.

I'll attach my skillet.lua file* here so you can look through it to debug, then I'll delete it as advised and see if that helps. Thanks. :)

*Github said it didn't support that file type, so I changed the extension to .txt. You should be able to change it back with no problems. Skillet.txt

Taliyah9 commented 3 years ago

ETA: Deleting skillet.lua made the addon completely not work. I only get the Blizzard tradeskill window now. I'm going to fully uninstall and reinstall the addon.

Second edit: Fresh uninstall and reinstall (v 4.25) and the problem persists. I'm not getting a lua error, but when I click the right-facing arrow beside "Filters" and choose anything to filter by, the window becomes unresponsive and won't re-open after I close it. Shift-clicking the profession button doesn't open the base window either. I've re-attached the new skillet.lua (renamed to skillet.txt to allow attaching) here so you can see what it looks like with nothing ever having been done except this one action. Skillet.txt

b-morgan commented 3 years ago

The global saved variables file is in World of Warcraft\_retail_\WTF\Account\<your name>\SavedVariables\Skillet.lua. The per character saved variables file is in World of Warcraft\_retail_\WTF\Account\<your name>\<your realm>\<your character>\SavedVariables\Skillet.lua. You may have to zip them to post here. I'm new to GitHub issues so I'll see if I have the ability to allow additional extensions.

The global file contains Skillet's database and the per character file will contain Skillet's debug output (if we enable it). Please zip and attach the global file and then delete it (also delete Skillet.lua.bak). You must be logged out (or WoW must be closed) when you delete the file(s).

Taliyah9 commented 3 years ago

Ah! Right, sorry, it's been awhile since I've dug into the files like this. Here are the global file and the character-specific file for the toon I've been trying this on most. I have noticed the error on multiple toons, but one should suffice. Thanks for your patience. :) Skillet global.txt Skillet char specific.txt

b-morgan commented 3 years ago

The character specific saved variables file for this (and all of your other toons) can be deleted. The one you uploaded was from 2018. What is the name of the toon that you are having the most problems with?

Taliyah9 commented 3 years ago

Breshna; server Feathermoon

b-morgan commented 3 years ago

Nothing jumps out at me other that the fact that you have been using Skillet for a long time. Deleting your global saved variables file Skillet.lua and all of the per character files Skillet.lua may fix the problem and will clean things up if it doesn't making it easier for me to debug. If it does still happen, type "/skillet debugshow on" when you first login, cause the error, and logoff. Upload both global and character specific files (see below). Next time you login, type "/skillet debugshow off" so your chat isn't polluted with text.

What I recommend is renaming the per character file to .lua and then zipping both the global and per character files together. I'm going to add some character identification to the per character file in the next release.

b-morgan commented 3 years ago

Skillet-4.26-alpha1 has a couple of (unrelated) fixes and includes some character identification in the per character saved variables file.

Taliyah9 commented 3 years ago

Thanks, I'll give those a try - deleting the saved variables .lua files, the new alpha, and running debug if it happens again - and let you know how it goes. Thanks for your help!

Taliyah9 commented 3 years ago

OK, after deleting the saved variables .lua files (global and character), I've had the original .lua error pop back up on another character, Senali. (Same .lua error as posted at the top of the thread, same filter process as in the 2nd comment.) I logged back in, ran the debugshow, and made the error happen again. Here are the fresher global saved variable file and her char-specific one. (I tried using the alpha version but I must have done it wrong with just replacing the few new files from your directory, because the addon wouldn't load at all. This is the last stable release version, 4.25.) Here is also the debug text from the chat window:

[09:51:54]Skillet: SkilletShow: (was showing nil) [09:51:54]Skillet: IsTradeSkillLinked: isGuild=false, isLinked=false, linkedPlayer=nil [09:51:54]Skillet: Skillet:ScanPlayerTradeSkills(Senali) [09:51:54]Skillet: SkilletShow: skillLineID= 171, skillLineName= Alchemy, skillLineRank= 300, skillLineMaxRank= 800, skillLineModifier= 0, parentSkillLineID= nil, parentSkillLineName= nil [09:51:54]Skillet: SkilletShow: trade= 2259 [09:51:54]Skillet: IsNotSupportedFollower(2259) [09:51:54]Skillet: IsSupportedTradeskill(2259) [09:51:54]Skillet: DisableBlizzardFrame() [09:51:54]Skillet: SkilletShowWindow(CHANGED), 2259 [09:51:54]Skillet: IsNotSupportedFollower(2259) [09:51:54]Skillet: IsSupportedTradeskill(2259) [09:51:54]Skillet: DisableBlizzardFrame() [09:51:54]Skillet: SkilletShowWindow(CHANGED), 2259 [09:51:54]Skillet: ScanTrade: skillLineID= 2750, skillLineName= Shadowlands Alchemy, skillLineRank= 79, skillLineMaxRank= 175, skillLineModifier= 0, parentSkillLineID= 171, parentSkillLineName= Alchemy [09:51:54]Skillet: ScanTrade: tradeID= 2259, profession= Alchemy [09:51:54]Skillet: ScanTrade: Shadowlands Alchemy link=[Alchemy] ||Htrade:Player-118-01C9DB67:195095:171|h[Alchemy]|h|r [09:51:54]Skillet: GetEmptyCategories(Senali, 2259) [09:51:54]Skillet: GetEmptyCategories: emptyCategoriesToAdd= {table} [09:51:54]Skillet: PrintTradeSkillFilter() [09:51:54]Skillet: filter= nil [09:51:54]Skillet: GetEmptyCategories(Senali, 2259) [09:51:54]Skillet: GetEmptyCategories: emptyCategoriesToAdd= {table} [09:51:54]Skillet: PrintTradeSkillFilter() [09:51:54]Skillet: filter= nil [09:51:54]Skillet: GetRecipeList(Senali, 2259) [09:51:54]Skillet: ScanTrade: Compressing, Alchemy:2259 441 recipes [09:51:54]Skillet: ScanTrade: Processing, Alchemy:2259 373 recipes [09:51:54]Skillet: ScanQueuedReagents() [09:51:54]Skillet: CalculateCraftableCounts() [09:51:54]Skillet: SortAndFilterRecipes() [09:51:55]Skillet: SkilletShowWindow(UPDATE), 2259 [09:51:55]Skillet: ScanTrade: skillLineID= 2750, skillLineName= Shadowlands Alchemy, skillLineRank= 79, skillLineMaxRank= 175, skillLineModifier= 0, parentSkillLineID= 171, parentSkillLineName= Alchemy [09:51:55]Skillet: SkilletShowWindow(UPDATE), 2259 [09:51:55]Skillet: ScanTrade: skillLineID= 2750, skillLineName= Shadowlands Alchemy, skillLineRank= 79, skillLineMaxRank= 175, skillLineModifier= 0, parentSkillLineID= 171, parentSkillLineName= Alchemy [09:51:55]Skillet: ScanTrade: tradeID= 2259, profession= Alchemy [09:51:55]Skillet: ScanTrade: Shadowlands Alchemy link=[Alchemy] ||Htrade:Player-118-01C9DB67:195095:171|h[Alchemy]|h|r [09:51:55]Skillet: GetEmptyCategories(Senali, 2259) [09:51:55]Skillet: GetEmptyCategories: emptyCategoriesToAdd= {table} [09:51:55]Skillet: PrintTradeSkillFilter() [09:51:55]Skillet: filter= nil [09:51:55]Skillet: GetRecipeList(Senali, 2259) [09:51:55]Skillet: ScanTrade: Compressing, Alchemy:2259 441 recipes [09:51:55]Skillet: ScanTrade: Processing, Alchemy:2259 373 recipes [09:51:55]Skillet: ScanQueuedReagents() [09:51:55]Skillet: filter= nil [09:51:55]Skillet: GetRecipeList(Senali, 2259) [09:51:55]Skillet: ScanTrade: Compressing, Alchemy:2259 441 recipes [09:51:55]Skillet: ScanTrade: Processing, Alchemy:2259 373 recipes [09:51:55]Skillet: ScanQueuedReagents() [09:51:55]Skillet: CalculateCraftableCounts() [09:51:55]Skillet: SortAndFilterRecipes() [09:51:55]Skillet: UpdateSearch() [09:51:55]Skillet: SortAndFilterRecipes() [09:51:55]Skillet: ScanTrade: skillLineID= 2750, skillLineName= Shadowlands Alchemy, skillLineRank= 79, skillLineMaxRank= 175, skillLineModifier= 0, parentSkillLineID= 171, parentSkillLineName= Alchemy [09:51:55]Skillet: ScanTrade: tradeID= 2259, profession= Alchemy [09:51:55]Skillet: ScanTrade: Shadowlands Alchemy link=[Alchemy] ||Htrade:Player-118-01C9DB67:195095:171|h[Alchemy]|h|r [09:51:55]Skillet: ScanTrade: tradeID= 2259, profession= Alchemy [09:51:55]Skillet: ScanTrade: Shadowlands Alchemy link=[Alchemy] ||Htrade:Player-118-01C9DB67:195095:171|h[Alchemy]|h|r [09:51:55]Skillet: GetEmptyCategories(Senali, 2259) [09:51:55]Skillet: GetEmptyCategories: emptyCategoriesToAdd= {table} [09:51:55]Skillet: PrintTradeSkillFilter() [09:51:55]Skillet: filter= nil [09:51:55]Skillet: GetRecipeList(Senali, 2259) [09:51:55]Skillet: ScanTrade: Compressing, Alchemy:2259 441 recipes [09:51:55]Skillet: ScanTrade: Processing, Alchemy:2259 373 recipes [09:51:55]Skillet: ScanQueuedReagents() [09:51:55]Skillet: CalculateCraftableCounts() [09:51:55]Skillet: SortAndFilterRecipes() [09:51:55]Skillet: ScanTrade: Compressing, Alchemy:2259 441 recipes [09:51:55]Skillet: ScanTrade: Processing, Alchemy:2259 373 recipes [09:51:55]Skillet: ScanQueuedReagents() [09:51:55]Skillet: CalculateCraftableCounts() [09:51:55]Skillet: SortAndFilterRecipes() [09:52:03]Skillet: ScanTrade: skillLineID= 2750, skillLineName= Shadowlands Alchemy, skillLineRank= 79, skillLineMaxRank= 175, skillLineModifier= 0, parentSkillLineID= 171, parentSkillLineName= Alchemy [09:52:03]Skillet: ScanTrade: tradeID= 2259, profession= Alchemy [09:52:03]Skillet: ScanTrade: Shadowlands Alchemy link=[Alchemy] ||Htrade:Player-118-01C9DB67:195095:171|h[Alchemy]|h|r [09:52:03]Skillet: GetEmptyCategories(Senali, 2259) [09:52:03]Skillet: GetEmptyCategories: emptyCategoriesToAdd= {table} [09:52:03]Skillet: PrintTradeSkillFilter() [09:52:13]Skillet: SkilletFrameForceClose() [09:52:13]Skillet: SKILLET CLOSE

Skillet global.txt Skillet Senali.txt

b-morgan commented 3 years ago

Please test with Skillet-4.26-alpha4. This .zip file should replace the entire contents of ...\Interface\Addons\Skillet.

Taliyah9 commented 3 years ago

Looks like it's fixed! Yay, thank you for all your patience with this!

I have noticed another problem, though. Sometimes when I try to change professions with the buttons at the top of the screen, it tells me Skillet has tried to complete an action blocked by the default interface, or something to that effect. It's inconsistent, though, and I can just close & open the proper profession.

b-morgan commented 3 years ago

For the action blocked (Blizzard bug), see issue #1.