Hey, since the Aug 6 wipe/update our server has been getting spammed with this exception on every tick that a player has something in their crafting queue:

NullReferenceException: Object reference not set to an instance of an object
at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.ItemCrafter.FinishCrafting_Patch1(ItemCrafter,ItemCraftTask)
at ItemCrafter.ServerUpdate (System.Single delta)
at PlayerInventory.ServerUpdate (System.Single delta)
at BasePlayer.InventoryUpdate ()

It's been causing real damage — players can't craft at all, inventory items go invisible until another item is dragged in the container, and some players are getting disconnected mid-session (kicked as Unresponsive, then Invalid Packet: Client Ready on reconnect), which we think is tick-lag from the exception spam.

We went through a long process of elimination (isolating ~11 plugins that hook crafting-related events) and Crafting Controller is our current top suspect. Looking at the code, for players with the instant-craft permission, OnItemCraft manually creates the item via InstantBulkCraft and sets task.cancelled = true, but doesn't appear to explicitly remove the task from ItemCrafter's internal queue. There's also GetBonusBlueprint, which swaps task.blueprint to a dynamically-created ItemBlueprint on a hidden GameObject for players with bonus tiers. Our guess is that if the base game's ServerUpdate/FinishCrafting still tries to process that same task afterward, it may be hitting a state (cancelled task, or a non-standard blueprint object) that the updated ItemCrafter no longer expects, which could explain the NRE.

We haven't 100% confirmed it's Crafting Controller specifically yet (planning a live test comparing a player with the instant-craft perm vs one without), but wanted to flag this now in case it's a known issue or you've seen similar reports since the update. Happy to share the full stack trace or more of the log if useful.