derfloh205 / CraftSim

MIT License
16 stars 40 forks source link

[CraftLog] lua error nil reagentData crafting a guild work order #756

Open mbattersby opened 2 days ago

mbattersby commented 2 days ago

Describe the bug I get similar lua errors to this all the time from various actions, about nil reagentData.

To get this error I crafted a guild work order using the base crafting UI, this error appeared I think on clicking Submit but may have been on clicking Forge. Craftsim Craft Queue and Craft Log were open.

I'll try to continue to log additional reagentData nil errors in the comments as they come up. I've been getting these errors regularly over the last several months. I don't think I've ever had a day using CraftSim where I don't get at least one.

1x CraftSim/Classes/RecipeData.lua:484: attempt to index field 'reagentData' (a nil value)
[string "@CraftSim/Classes/RecipeData.lua"]:484: in function `SetNonQualityReagentsMax'
[string "@CraftSim/Classes/OnCraftData.lua"]:49: in function `CreateRecipeData'
[string "@CraftSim/Init/Init.lua"]:216: in function <CraftSim/Init/Init.lua:201>
[string "@CraftSim/Init/Init.lua"]:270: in function <CraftSim/Init/Init.lua:269>
[string "=[C]"]: ?
[string "=[C]"]: in function `RecraftRecipeForOrder'
[string "@Blizzard_Professions/Blizzard_ProfessionsCrafterOrderView.lua"]:1033: in function `RecraftOrder'
[string "@Blizzard_Professions/Blizzard_ProfessionsCrafterOrderView.lua"]:79: in function `StartCraft'
[string "@Blizzard_Professions/Blizzard_ProfessionsCrafterOrderView.lua"]:108: in function <...Professions/Blizzard_ProfessionsCrafterOrderView.lua:76>

Locals:
self = <table> {
 concentrating = false
 concentrationCost = 0
 specializationDataCached = false
 subRecipeCostsEnabled = false
 professionGearCached = false
 professionInfoCached = false
 subRecipeDepth = 0
 optimizedSubRecipes = <table> {
 }
 parentRecipeInfo = <table> {
 }
 crafterData = <table> {
 }
 operationInfoCached = false
 recipeInfoCached = false
}
(*temporary) = nil
(*temporary) = false
(*temporary) = true
(*temporary) = nil
(*temporary) = <table> {
 UI = <table> {
 }
 registeredDebugIDs = <table> {
 }
 isMute = false
 profilings = <table> {
 }
 frame = <table> {
 }
}
(*temporary) = "SetNonQualityReagentsMax"
(*temporary) = "Classes.RecipeData.SetNonQualityReagentsMax"
(*temporary) = false
(*temporary) = true
(*temporary) = nil
(*temporary) = <table> {
 CRAFTQ_CRAFTING = false
 CRAFTQ = false
 CRAFT_DATA_COLLECT = false
 CRAFT_RESULTS = false
}
(*temporary) = nil
(*temporary) = "DEBUG_IDS"
(*temporary) = "attempt to index field 'reagentData' (a nil value)"
CraftSim = <table> {
 COOLDOWNS = <table> {
 }
 STATISTICS = <table> {
 }
 OPTIONAL_REAGENT_DATA = <table> {
 }
 NEWS = <table> {
 }
 OnCraftData = <table> {
 }
 DEBUG = <table> {
 }
 PRICE_DETAILS = <table> {
 }
 CRAFT_LOG = Frame {
 }
 WIDGETS = <table> {
 }
 ProfessionGear = <table> {
 }
 CRAFT_BUFFS = Frame {
 }
 NodeData = <table> {
 }
 PRICE_OVERRIDE = <table> {
 }
 ConcentrationData = <table> {
 }
 LOCAL_MX = <table> {
 }
 ENCHANT_RECIPE_DATA = <table> {
 }
 REAGENT_DATA = <table> {
 }
 COST_OPTIMIZATION = <table> {
 }
 EXPLANATIONS = <table> {
 }
 LibCompress = <table> {
 }
 TopGearResult = <table> {
 }
 ReagentData = <table> {
 }
 LOCAL_DE = <table> {
 }
 CONCENTRATION_TRACKER = <table> {
 }
 SUPPORTERS = <table> {
 }
 LibGraph = <table> {
 }
 OptionalReagentSlot = <table> {
 }
 Reagent = <table> {
 }
 PRICE_APIS = <table> {
 }
 LOCAL_FR = <table> {
 }
 SPECIALIZATION_DATA = <table> {
 }
 PRICE_SOURCE = <table> {
 }
 UTIL = <table> {
 }
 LOCAL_ES = <table> {
 }
 CraftSimObject = <table> {
 }
 PerkData = <table> {
 }
 ITEM_COUNT = Frame {
 }
 TOPGEAR = <table> {
 }
 PriceData = <table> {
 }
 OptionalReagent = <table> {
 }
 CONCENTRATION_CURVE_DATA = <table> {
 }
 LOCAL_IT = <table> {
 }
 CONTROL_PANEL = <table> {
 }
 CraftQueueItem = <table> {
 }
 ResultData = <table> {
 }
 CraftQueue = <table> {
 }
 RECIPE_SCAN = <table> {
 }
 AVERAGEPROFIT = <table> {
 }
 BagBuff = <table> {
 }
 Buff = <table> {
 }
 BuffData = <table> {
 }
 SIMULATION_MODE = <table> {
 }
 JSONBuilder = <table> {
 }
 OPTIONS = <table> {
 }
 CraftRecipeData = <table> {
 }
 INIT = Frame {
 }
 CALC = <table> {
 }
 ProfessionGearSet = <table> {
 }
 SpecializationData = <table> {
 }
 ProfessionData = <table> {
 }
 LOCAL_RU = <table> {
 }
 CraftSessionData = <table> {
 }
 ProfessionStats = <table> {
 }
 CraftResultItem = <table> {
 }
 LOCAL_CN = <table> {
 }
 CraftResult = <table> {
 }
 DB = <table> {
 }
 ReagentOptimizationResult = <table> {
 }
 ProfessionStat = <table> {
 }
 Statweights = <table> {
 }
 SalvageReagentSlot = <table> {
 }
 CraftResultReagent = <table> {
 }
 GUTIL = <table> {
 }
 CUSTOMER_HISTORY = Frame {
 }
 ReagentListItem = <table> {
 }
 REAGENT_OPTIMIZATION = <table> {
 }
 ReagentItem = <table> {
 }
 LOCAL_EN = <table> {
 }
 COMM = <table> {
 }
 FRAME = <table> {
 }
 RecipeData = <table> {
 }
 LOCAL_KO = <table> {
 }
 LOCAL_TW = <table> {
 }
 Object = <table> {
 }
 LOCAL_PT = <table> {
 }
 LibIcon = <table> {
 }
 LOCAL = <table> {
 }
 CooldownData = <table> {
 }
 PRICE_API = <table> {
 }
 SPECIALIZATION_INFO = <table> {
 }
 CONST = <table> {
 }
 CRAFTQ = Frame {
 }
 GGUI = <table> {
 }
 MEDIA = <table> {
 }
}
GUTIL = <table> {
 COLORS = <table> {
 }
 eventWaitFrame = Frame {
 }
 Object = <table> {
 }
 FrameDistributor = <table> {
 }
 Formatter = <table> {
 }
}

To Reproduce

  1. Log in.
  2. Click Blacksmith Crafting Table
  3. Click Crafting Orders
  4. Click Guild
  5. Choose order
  6. Begin crafting
  7. Forge
  8. Submit

Expected behavior N/A

Screenshots N/A

Addon Version: [e.g. 19.7.1] 19.7.0

Additional context Add any other context about the problem here.

mbattersby commented 1 day ago

Same error today FWIW in the same situation.

1x CraftSim/Classes/RecipeData.lua:484: attempt to index field 'reagentData' (a nil value)
[string "@CraftSim/Classes/RecipeData.lua"]:484: in function `SetNonQualityReagentsMax'
[string "@CraftSim/Classes/OnCraftData.lua"]:49: in function `CreateRecipeData'
[string "@CraftSim/Init/Init.lua"]:216: in function <CraftSim/Init/Init.lua:201>
[string "@CraftSim/Init/Init.lua"]:270: in function <CraftSim/Init/Init.lua:269>
[string "=[C]"]: ?
[string "=[C]"]: in function `RecraftRecipeForOrder'
[string "@Blizzard_Professions/Blizzard_ProfessionsCrafterOrderView.lua"]:1033: in function `RecraftOrder'
[string "@Blizzard_Professions/Blizzard_ProfessionsCrafterOrderView.lua"]:79: in function `StartCraft'
[string "@Blizzard_Professions/Blizzard_ProfessionsCrafterOrderView.lua"]:108: in function <...Professions/Blizzard_ProfessionsCrafterOrderView.lua:76>

Locals:
self = <table> {
 concentrating = false
 concentrationCost = 0
 specializationDataCached = false
 subRecipeCostsEnabled = false
 professionGearCached = false
 professionInfoCached = false
 subRecipeDepth = 0
 optimizedSubRecipes = <table> {
 }
 parentRecipeInfo = <table> {
 }
 crafterData = <table> {
 }
 operationInfoCached = false
 recipeInfoCached = false
}
(*temporary) = nil
(*temporary) = false
(*temporary) = true
(*temporary) = nil
(*temporary) = <table> {
 UI = <table> {
 }
 registeredDebugIDs = <table> {
 }
 isMute = false
 profilings = <table> {
 }
 frame = <table> {
 }
}
(*temporary) = "SetNonQualityReagentsMax"
(*temporary) = "Classes.RecipeData.SetNonQualityReagentsMax"
(*temporary) = false
(*temporary) = true
(*temporary) = nil
(*temporary) = <table> {
}
(*temporary) = nil
(*temporary) = "DEBUG_IDS"
(*temporary) = "attempt to index field 'reagentData' (a nil value)"
CraftSim = <table> {
 COOLDOWNS = <table> {
 }
 STATISTICS = <table> {
 }
 OPTIONAL_REAGENT_DATA = <table> {
 }
 NEWS = <table> {
 }
 OnCraftData = <table> {
 }
 DEBUG = <table> {
 }
 PRICE_DETAILS = <table> {
 }
 CRAFT_LOG = Frame {
 }
 WIDGETS = <table> {
 }
 ProfessionGear = <table> {
 }
 CRAFT_BUFFS = Frame {
 }
 NodeData = <table> {
 }
 PRICE_OVERRIDE = <table> {
 }
 ConcentrationData = <table> {
 }
 LOCAL_MX = <table> {
 }
 ENCHANT_RECIPE_DATA = <table> {
 }
 REAGENT_DATA = <table> {
 }
 COST_OPTIMIZATION = <table> {
 }
 EXPLANATIONS = <table> {
 }
 LibCompress = <table> {
 }
 TopGearResult = <table> {
 }
 ReagentData = <table> {
 }
 LOCAL_DE = <table> {
 }
 CONCENTRATION_TRACKER = <table> {
 }
 SUPPORTERS = <table> {
 }
 LibGraph = <table> {
 }
 OptionalReagentSlot = <table> {
 }
 Reagent = <table> {
 }
 PRICE_APIS = <table> {
 }
 LOCAL_FR = <table> {
 }
 SPECIALIZATION_DATA = <table> {
 }
 PRICE_SOURCE = <table> {
 }
 UTIL = <table> {
 }
 LOCAL_ES = <table> {
 }
 CraftSimObject = <table> {
 }
 PerkData = <table> {
 }
 ITEM_COUNT = Frame {
 }
 TOPGEAR = <table> {
 }
 PriceData = <table> {
 }
 OptionalReagent = <table> {
 }
 CONCENTRATION_CURVE_DATA = <table> {
 }
 LOCAL_IT = <table> {
 }
 CONTROL_PANEL = <table> {
 }
 CraftQueueItem = <table> {
 }
 ResultData = <table> {
 }
 CraftQueue = <table> {
 }
 RECIPE_SCAN = <table> {
 }
 AVERAGEPROFIT = <table> {
 }
 BagBuff = <table> {
 }
 Buff = <table> {
 }
 BuffData = <table> {
 }
 SIMULATION_MODE = <table> {
 }
 JSONBuilder = <table> {
 }
 OPTIONS = <table> {
 }
 CraftRecipeData = <table> {
 }
 INIT = Frame {
 }
 CALC = <table> {
 }
 ProfessionGearSet = <table> {
 }
 SpecializationData = <table> {
 }
 ProfessionData = <table> {
 }
 LOCAL_RU = <table> {
 }
 CraftSessionData = <table> {
 }
 ProfessionStats = <table> {
 }
 CraftResultItem = <table> {
 }
 LOCAL_CN = <table> {
 }
 CraftResult = <table> {
 }
 DB = <table> {
 }
 ReagentOptimizationResult = <table> {
 }
 ProfessionStat = <table> {
 }
 Statweights = <table> {
 }
 SalvageReagentSlot = <table> {
 }
 CraftResultReagent = <table> {
 }
 GUTIL = <table> {
 }
 CUSTOMER_HISTORY = Frame {
 }
 ReagentListItem = <table> {
 }
 REAGENT_OPTIMIZATION = <table> {
 }
 ReagentItem = <table> {
 }
 LOCAL_EN = <table> {
 }
 COMM = <table> {
 }
 FRAME = <table> {
 }
 RecipeData = <table> {
 }
 LOCAL_KO = <table> {
 }
 LOCAL_TW = <table> {
 }
 Object = <table> {
 }
 LOCAL_PT = <table> {
 }
 LibIcon = <table> {
 }
 LOCAL = <table> {
 }
 CooldownData = <table> {
 }
 PRICE_API = <table> {
 }
 SPECIALIZATION_INFO = <table> {
 }
 CONST = <table> {
 }
 CRAFTQ = Frame {
 }
 GGUI = <table> {
 }
 MEDIA = <table> {
 }
}
GUTIL = <table> {
 COLORS = <table> {
 }
 contextMenuFrames = <table> {
 }
 eventWaitFrame = Frame {
 }
 Object = <table> {
 }
 FrameDistributor = <table> {
 }
 Formatter = <table> {
 }
}