MountainDrew8 / CalamityMod

Has something in it that does stuff
119 stars 33 forks source link

System.IndexOutOfRangeException. #31

Open Eti113 opened 2 years ago

Eti113 commented 2 years ago

I am experiencing some crashes that make the game difficult, especially when a boss appears, or some event that has many mobs

[03:05:06] [1/WARN] [tML]: Silently Caught Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array. at CalamityMod.CalamityNetcode.HandlePacket(Mod mod, BinaryReader reader, Int32 whoAmI) in CalamityMod\CalamityNetcode.cs:line 314 at CalamityMod.CalamityMod.HandlePacket(BinaryReader reader, Int32 whoAmI) in CalamityMod.cs:line 1619 at Terraria.ModLoader.ModNet.HandleModPacket(BinaryReader reader, Int32 whoAmI, Int32 length) at DMD(MessageBuffer this, Int32 start, Int32 length, Int32& messageType) at Trampoline?37886217(MessageBuffer , Int32 , Int32 , Int32& ) at MagicStorage.Edits.Detours.Vanilla.MessageBuffer_GetData(orig_GetData orig, MessageBuffer self, Int32 start, Int32 length, Int32& messageType) in MagicStorage\Edits\Detours\Vanilla.NetMessage.cs:line 164 at Hook?29852809(MessageBuffer , Int32 , Int32 , Int32& ) at Terraria.NetMessage.CheckBytes(Int32 bufferIndex) at Terraria.Netplay.<>c.b__462() at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute() at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot) at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(Task task, Boolean taskWasPreviouslyQueued) at System.Threading.Tasks.TaskScheduler.TryRunInline(Task task, Boolean taskWasPreviouslyQueued) at System.Threading.Tasks.Task.InternalRunSynchronously(TaskScheduler scheduler, Boolean waitForCompletion) at Terraria.Netplay.OnUpdate() at Terraria.Main.DoUpdate(GameTime gameTime) at Terraria.Main.Update(GameTime gameTime) at Terraria.Main.DedServ() at Terraria.Program.LaunchGame() at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs) at Terraria.WindowsLaunch.Main(String[] args)

[03:13:54] [1/WARN] [tML]: Silently Caught Exception: System.IndexOutOfRangeException: Index was outside the bounds of the array. at CalamityMod.Cooldowns.CooldownInstance..ctor(BinaryReader reader) in CalamityMod\Cooldowns\CooldownInstance.cs:line 57 at CalamityMod.CalPlayer.CalamityPlayer.HandleCooldownDictionary(BinaryReader reader) in CalamityMod\CalPlayer\CalamityPlayerNetcode.cs:line 329 at CalamityMod.CalamityNetcode.HandlePacket(Mod mod, BinaryReader reader, Int32 whoAmI) in CalamityMod\CalamityNetcode.cs:line 84 at CalamityMod.CalamityMod.HandlePacket(BinaryReader reader, Int32 whoAmI) in CalamityMod.cs:line 1619 at Terraria.ModLoader.ModNet.HandleModPacket(BinaryReader reader, Int32 whoAmI, Int32 length) at DMD(MessageBuffer this, Int32 start, Int32 length, Int32& messageType) at Trampoline?37886217(MessageBuffer , Int32 , Int32 , Int32& ) at MagicStorage.Edits.Detours.Vanilla.MessageBuffer_GetData(orig_GetData orig, MessageBuffer self, Int32 start, Int32 length, Int32& messageType) in MagicStorage\Edits\Detours\Vanilla.NetMessage.cs:line 164 at Hook?29852809(MessageBuffer , Int32 , Int32 , Int32& ) at Terraria.NetMessage.CheckBytes(Int32 bufferIndex) at Terraria.Netplay.<>c.b__462() at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute() at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot) at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(Task task, Boolean taskWasPreviouslyQueued) at System.Threading.Tasks.TaskScheduler.TryRunInline(Task task, Boolean taskWasPreviouslyQueued) at System.Threading.Tasks.Task.InternalRunSynchronously(TaskScheduler scheduler, Boolean waitForCompletion) at Terraria.Netplay.OnUpdate() at Terraria.Main.DoUpdate(GameTime gameTime) at Terraria.Main.Update(GameTime gameTime) at Terraria.Main.DedServ() at Terraria.Program.LaunchGame() at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs) at Terraria.WindowsLaunch.Main(String[] args)

[03:14:12] [1/WARN] [tML]: Silently Caught Exception: System.IO.IOException: Read underflow 9 of 5 bytes caused by CalamityMod in HandlePacket at Terraria.ModLoader.ModNet.HandleModPacket(BinaryReader reader, Int32 whoAmI, Int32 length) at DMD(MessageBuffer this, Int32 start, Int32 length, Int32& messageType) at Trampoline?37886217(MessageBuffer , Int32 , Int32 , Int32& ) at MagicStorage.Edits.Detours.Vanilla.MessageBuffer_GetData(orig_GetData orig, MessageBuffer self, Int32 start, Int32 length, Int32& messageType) in MagicStorage\Edits\Detours\Vanilla.NetMessage.cs:line 164 at Hook?29852809(MessageBuffer , Int32 , Int32 , Int32& ) at Terraria.NetMessage.CheckBytes(Int32 bufferIndex) at Terraria.Netplay.<>c.b__462() at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute() at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot) at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(Task task, Boolean taskWasPreviouslyQueued) at System.Threading.Tasks.TaskScheduler.TryRunInline(Task task, Boolean taskWasPreviouslyQueued) at System.Threading.Tasks.Task.InternalRunSynchronously(TaskScheduler scheduler, Boolean waitForCompletion) at Terraria.Netplay.OnUpdate() at Terraria.Main.DoUpdate(GameTime gameTime) at Terraria.Main.Update(GameTime gameTime) at Terraria.Main.DedServ() at Terraria.Program.LaunchGame() at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs) at Terraria.WindowsLaunch.Main(String[] args)

[03:14:41] [1/WARN] [tML]: Silently Caught Exception: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.Collections.Generic.Dictionary2.Initialize(Int32 capacity) at System.Collections.Generic.Dictionary2..ctor(Int32 capacity, IEqualityComparer`1 comparer) at CalamityMod.CalPlayer.CalamityPlayer.HandleCooldownDictionary(BinaryReader reader) in CalamityMod\CalPlayer\CalamityPlayerNetcode.cs:line 325 at CalamityMod.CalamityNetcode.HandlePacket(Mod mod, BinaryReader reader, Int32 whoAmI) in CalamityMod\CalamityNetcode.cs:line 84 at CalamityMod.CalamityMod.HandlePacket(BinaryReader reader, Int32 whoAmI) in CalamityMod.cs:line 1619 at Terraria.ModLoader.ModNet.HandleModPacket(BinaryReader reader, Int32 whoAmI, Int32 length) at DMD(MessageBuffer this, Int32 start, Int32 length, Int32& messageType) at Trampoline?37886217(MessageBuffer , Int32 , Int32 , Int32& ) at MagicStorage.Edits.Detours.Vanilla.MessageBuffer_GetData(orig_GetData orig, MessageBuffer self, Int32 start, Int32 length, Int32& messageType) in MagicStorage\Edits\Detours\Vanilla.NetMessage.cs:line 164 at Hook?29852809(MessageBuffer , Int32 , Int32 , Int32& ) at Terraria.NetMessage.CheckBytes(Int32 bufferIndex) at Terraria.Netplay.<>c.b__462() at System.Threading.Tasks.Task.InnerInvoke() at System.Threading.Tasks.Task.Execute() at System.Threading.Tasks.Task.ExecutionContextCallback(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot) at System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(Task task, Boolean taskWasPreviouslyQueued) at System.Threading.Tasks.TaskScheduler.TryRunInline(Task task, Boolean taskWasPreviouslyQueued) at System.Threading.Tasks.Task.InternalRunSynchronously(TaskScheduler scheduler, Boolean waitForCompletion) at Terraria.Netplay.OnUpdate() at Terraria.Main.DoUpdate(GameTime gameTime) at Terraria.Main.Update(GameTime gameTime) at Terraria.Main.DedServ() at Terraria.Program.LaunchGame() at Terraria.Program.LaunchGame(String[] args, Boolean monoArgs) at Terraria.WindowsLaunch.Main(String[] args)

[03:14:41] [1/FATAL] [tML]: Game ran out of memory. You'll have to find which mod is consuming lots of memory, and contact the devs or remove it. [03:14:51] [Server Hang Watchdog/ERROR] [tML]: Server hung for more than 10 seconds: en System.Windows.Forms.SafeNativeMethods.MessageBox(HandleRef hWnd, String text, String caption, Int32 type) en System.Windows.Forms.MessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, Boolean showHelp) en Terraria.ModLoader.UI.Interface.MessageBoxShow(String text, String caption) en Terraria.ModLoader.Logging.FirstChanceExceptionHandler(Object sender, FirstChanceExceptionEventArgs args) en System.Collections.Generic.Dictionary2.Initialize(Int32 capacity) en System.Collections.Generic.Dictionary2..ctor(Int32 capacity, IEqualityComparer`1 comparer) en CalamityMod.CalPlayer.CalamityPlayer.HandleCooldownDictionary(BinaryReader reader) en CalamityMod\CalPlayer\CalamityPlayerNetcode.cs:línea 325 en CalamityMod.CalamityNetcode.HandlePacket(Mod mod, BinaryReader reader, Int32 whoAmI) en CalamityMod\CalamityNetcode.cs:línea 84 en CalamityMod.CalamityMod.HandlePacket(BinaryReader reader, Int32 whoAmI) en CalamityMod.cs:línea 1619 en Terraria.ModLoader.ModNet.HandleModPacket(BinaryReader reader, Int32 whoAmI, Int32 length) en DMD(MessageBuffer this, Int32 start, Int32 length, Int32& messageType) en Trampoline?37886217(MessageBuffer , Int32 , Int32 , Int32& ) en MagicStorage.Edits.Detours.Vanilla.MessageBuffer_GetData(orig_GetData orig, MessageBuffer self, Int32 start, Int32 length, Int32& messageType) en MagicStorage\Edits\Detours\Vanilla.NetMessage.cs:línea 164 en Hook?29852809(MessageBuffer , Int32 , Int32 , Int32& ) en Terraria.NetMessage.CheckBytes(Int32 bufferIndex) en Terraria.Netplay.<>c.b__462() en System.Threading.Tasks.Task.InnerInvoke() en System.Threading.Tasks.Task.Execute() en System.Threading.Tasks.Task.ExecutionContextCallback(Object obj) en System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) en System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) en System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot) en System.Threading.Tasks.Task.ExecuteEntry(Boolean bPreventDoubleExecution) en System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(Task task, Boolean taskWasPreviouslyQueued) en System.Threading.Tasks.TaskScheduler.TryRunInline(Task task, Boolean taskWasPreviouslyQueued) en System.Threading.Tasks.Task.InternalRunSynchronously(TaskScheduler scheduler, Boolean waitForCompletion) en Terraria.Netplay.OnUpdate() en Terraria.Main.DoUpdate(GameTime gameTime) en Terraria.Main.Update(GameTime gameTime) en Terraria.Main.DedServ() en Terraria.Program.LaunchGame() en Terraria.Program.LaunchGame(String[] args, Boolean monoArgs) en Terraria.WindowsLaunch.Main(String[] args)