Skillet Window not closing in 1.29-alpha builds
Dejoule opened this issue ยท 11 comments
Originally, with all of my addons on, it would open, and throw an lua error.
To replicate this, I disabled all addons except skillet and buggrabber/bugsack. With just those two addons the window failed to open, and threw this error 3441 times according to bugsack:
1x Skillet-Classic\SkilletData.lua:733: attempt to compare number with nil
[string "@Skillet-Classic\SkilletData.lua"]:733: in function <Skillet-Classic\SkilletData.lua:659>
[string "@Skillet-Classic\SkilletData.lua"]:1120: in function `RescanTrade'
[string "@Skillet-Classic\Skillet-20501.nil.lua"]:1107: in function `SkilletShowWindow'
[string "@Skillet-Classic\Skillet-20501.nil.lua"]:832: in function `?'
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:119: in function <...ack\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>
[string "=[C]"]: ?
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:29: in function <...ack\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:25>
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:64: in function `Fire'
[string "@Skillet-Classic\Libs\AceEvent-3.0\AceEvent-3.0-4.lua"]:120: in function <...s\Skillet-Classic\Libs\AceEvent-3.0\AceEvent-3.0.lua:119>
Attached are .txt files of my global saved variables and my character specific save variables since i cannot attach .lua extensions.
Debuglogging, tracelog, and tabledump should all have been on.
Skillet-Classic Global.txt
Skillet-Classic character.txt
This is very strange. On my system the event PLAYER_LOGIN fires but on your system it did not. In any case, I've added code to the PLAYER_ENTERING_WORLD event to initialize the variable needed so the above error won't happen. Skillet-Classic-1.29-alpha4 will contain this fix.
The reason for this code change is an attempt to fix the issues in #25:
In order to assure that Skillet-Classic has the correct recipe data from the server, the profession buttons in the Skillet-Classic frame are disabled until an action bar button is used to open each profession. A dialog is opened when this restriction hasn't been met.
So the newest update did fix the non-appearing window. It still throws the lua error. when closing the crafting window. It doesn't impede any function. and clearing the bugs from sack, they do not re-occur until you open and close the window again. I would say it's a low priority, at least from my perspective
I need to understand what is happening on your system as it doesn't happen on mine. Please login, type "/skillet cleardebuglog", "/skillet tracelog on", "/skillet warnlog on", "/skillet debuglevel 2", "/skillet tabledump on", and generate the error. Logoff immediately and upload a copy of the error (line numbers have probably changed), the global, and character specific saved variables files.
FYI, type "/skillet debugstatus" to see the state of all the debug variables.
This is with all addons disabled save for skillet and buggrabber
10x C stack overflow
[string "=[C]"]: in function `CloseTradeSkill'
[string "@Skillet-Classic\Skillet-20501.nil.lua"]:1163: in function `SkilletClose'
[string "@Skillet-Classic\Skillet-20501.nil.lua"]:867: in function `?'
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:119: in function <...ack\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>
[string "=[C]"]: ?
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:29: in function <...ack\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:25>
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:64: in function `Fire'
[string "@Skillet-Classic\Libs\AceEvent-3.0\AceEvent-3.0-4.lua"]:120: in function <...s\Skillet-Classic\Libs\AceEvent-3.0\AceEvent-3.0.lua:119>
[string "=[C]"]: in function `CloseTradeSkill'
[string "@Skillet-Classic\Skillet-20501.nil.lua"]:1163: in function `SkilletClose'
[string "@Skillet-Classic\Skillet-20501.nil.lua"]:867: in function `?'
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:119: in function <...ack\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>
...
[string "@Skillet-Classic\Skillet-20501.nil.lua"]:867: in function `?
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:119: in function <...ack\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>
[string "=[C]"]: ?
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:29: in function <...ack\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:25>
[string "@BugSack\Libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua"]:64: in function `Fire'
[string "@Skillet-Classic\Libs\AceEvent-3.0\AceEvent-3.0-4.lua"]:120: in function <...s\Skillet-Classic\Libs\AceEvent-3.0\AceEvent-3.0.lua:119>
[string "=[C]"]: in function `UseAction'
[string "@FrameXML\SecureTemplates.lua"]:338: in function `handler'
[string "@FrameXML\SecureTemplates.lua"]:616: in function `SecureActionButton_OnClick'
[string "*:OnClick"]:4: in function <[string "*:OnClick"]:1>
Locals:
(*temporary) = <function> defined =[C]:-1
(*temporary) = <function> defined @FrameXML\UIParent.lua:660
(*temporary) = UIParent {
0 = <userdata>
firstTimeLoaded = 1
variablesLoaded = true
}
(*temporary) = "TRADE_SKILL_CLOSE"
Message: Interface\SharedXML\TableUtil.lua:79: C stack overflow
Time: Sat Jun 26 09:30:17 2021
Count: 1
Stack: Interface\SharedXML\TableUtil.lua:79: C stack overflow
[string "@Interface\AddOns\Skillet-Classic\Skillet.lua"]:860: in function `?'
[string "=[C]"]: in function `CloseTradeSkill'
[string "@Interface\AddOns\Skillet-Classic\Skillet.lua"]:1156: in function `SkilletClose'
[string "@Interface\AddOns\Skillet-Classic\Skillet.lua"]:860: in function `?'
[string "@Interface\AddOns\AtlasLootClassic\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua"]:119: in function <...sic\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>
[string "=[C]"]: in function `CloseTradeSkill'
[string "@Interface\AddOns\Skillet-Classic\Skillet.lua"]:1156: in function `SkilletClose'
[string "@Interface\AddOns\Skillet-Classic\UI\MainFrame.lua"]:2606: in function <Interface\AddOns\Skillet-Classic\UI\MainFrame.lua:2604>
[string "=[C]"]: in function `securecall'
[string "@Interface\FrameXML\UIParent.lua"]:2764: in function `CloseWindows'
[string "@Interface\FrameXML\UIParent.lua"]:2789: in function <Interface\FrameXML\UIParent.lua:2779>
[string "=[C]"]: in function `securecall'
[string "@Interface\FrameXML\UIParent.lua"]:3425: in function `ToggleGameMenu'
[string "TOGGLEGAMEMENU"]:1: in function <[string "TOGGLEGAMEMENU"]:1>
The issue in the original post has been solved but the solution has caused the subsequent errors.
@Dejoule, I can understand why you get a stack overflow on your system... The event TRADE_SKILL_CLOSE
keeps firing over and over. On my system, I get one or maybe two and then it stops.
I have reverted my changes to SkilletClose in Skillet-Classic-1.29-alpha5 to see if that works better while I figure out why my changes didn't work.
I cannot say. What I can say is I close the window, clear the bugs and move on with my day.
But I don't want that to be the "normal" way Skillet-Classic closes. Please let me know if alpha5 is working for you or if not, please provide the saved variables files if it fails again. I have to get to the bottom of this issue or I'll have to revert to the 1.28 code base and see if I can figure out another way to fix the bad recipes.