l33tmaan / ACulinaryArtillery---.NET7

4 stars 12 forks source link

Server crash out of mem from ACA #7

Closed scubamount closed 5 months ago

scubamount commented 1 year ago

18.8.2023 17:35:13 [Server Fatal] System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.Collections.Generic.SparseArrayBuilder1.ToArray() at System.Linq.Enumerable.Concat2Iterator1.ToArray() at ACulinaryArtillery.CookingIngredientPatches.displayFix(ItemStack inputStack, CookingRecipeStack& result, CookingRecipeIngredient instance) at Vintagestory.GameContent.CookingRecipeIngredient.GetMatchingStack_Patch1(CookingRecipeIngredient this, ItemStack inputStack) at XSkills.CookingRecipePatch.MatchesPrefix(CookingRecipe instance, Boolean& result, ItemStack[] inputStacks, Int32& quantityServings) at Vintagestory.GameContent.CookingRecipe.Matches_Patch1(CookingRecipe this, ItemStack[] inputStacks, Int32& quantityServings) at Vintagestory.GameContent.BlockCookingContainer.GetMatchingCookingRecipe(IWorldAccessor world, ItemStack[] stacks) in C:\Users\Tyron\Documents\vintagestory\game\VSSurvivalMod\Systems\Cooking\BlockCookingContainer.cs:line 234 at XSkills.BlockCookingContainerPatch.CanSmeltPrefix(BlockCookingContainer instance, Boolean& result, IWorldAccessor world, ISlotProvider cookingSlotsProvider) at Vintagestory.GameContent.BlockCookingContainer.CanSmelt_Patch1(BlockCookingContainer this, IWorldAccessor world, ISlotProvider cookingSlotsProvider, ItemStack inputStack, ItemStack outputStack) at Vintagestory.GameContent.BlockEntityFirepit.canSmeltInput() in C:\Users\Tyron\Documents\vintagestory\game\VSSurvivalMod\BlockEntity\Firepit\BEFirepit.cs:line 553 at Vintagestory.GameContent.BlockEntityFirepit.OnBurnTick(Single dt) in C:\Users\Tyron\Documents\vintagestory\game\VSSurvivalMod\BlockEntity\Firepit\BEFirepit.cs:line 294 at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Common\EventManager.cs:line 59 at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerEventManager.cs:line 124 at Vintagestory.Server.ServerMain.Process() in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerMain.cs:line 849

Dmitry221060 commented 1 year ago

It appears you don't have enough RAM on your server. I wasn't able to reproduce the issue on my end and the Enumerable that is being converted to an array is of adequate size. Try adding/increasing the size of a swap file and tell us if the problem persists.

l33tmaan commented 9 months ago

I'll be releasing an update for 1.19 soon, you should see if this error still happens then.