ashaxyn
Terrarian
Problem:
Game crashes right after I kill a boss for the first time, but also randomly when nothing in particular happens (just walking, afking, quitting to menu, etc.) after randomly 20 min to 3 hours. Crashes undo all character progress and inventory from previous ~20-30min. World sometimes gets rewinded just as character, but often stays as it was a minute or two before the crash - meaning, all the items I got from boss fights just before crash, all the items I got from chests and had on me etc. are deleted.
At first there was no error log, but after tinkering with launch options, I managed to get one:
Info:
- Fresh 2 day old install, Terraria wasn't installed prior to that, no mods or anything like that, fresh new world and character too.
- More than required PC (16 gb ram, rtx 3060, ryzen 7 5800H, ssd )
- Windows 11.
- Steam, v1.4.3.6
- No similar issues on any of the other 50+ games or software I've run here.
- No Anti-Virus used
Things I've already tried that did not prevent the crashes:
- using launch options to move terraria data to %localappdata%/Terraria
- updating all drivers (nvidia, windows, asus)
- downgrading nvidia drivers
- manually updating corsair cue SDK file (which i wasn't using anyway) to newest github one
- disabling all RGB sync in config file
- reinstalling/repairing microsoft net and xna frameworks
- checking drive for errors (none found)
- using different drive
- disabling windows defender
- disabling steam cloud, steam overlay
- trying other frame skip options
- running world on private server
- checked file integrity on steam (no issue found)
- had a good night's sleep hoping it was some nightmare, just to wake up to a fresh batch of new Terraria crashes after booting up PC and playing a little. (meaning, yes, I did try turning it off and on again)
- ran as admin
- turned off world rollback
- using different steam account
Basically, help.
I mean, from the error log it's obvious the issue is with saving the player character / world, but what else can I do to fix it? I've already tried moving the Terraria saves directory to localappdata and verified that I have all the permissions in these directories. + The crash doesn't happen every save, just randomly.
Game crashes right after I kill a boss for the first time, but also randomly when nothing in particular happens (just walking, afking, quitting to menu, etc.) after randomly 20 min to 3 hours. Crashes undo all character progress and inventory from previous ~20-30min. World sometimes gets rewinded just as character, but often stays as it was a minute or two before the crash - meaning, all the items I got from boss fights just before crash, all the items I got from chests and had on me etc. are deleted.
At first there was no error log, but after tinkering with launch options, I managed to get one:
Error Logging Enabled.
Resolution changed to: 3440x1440.
WaveMaskData texture recreated. 1x1
WaveMaskData texture recreated. 74x141
WaveMaskData texture recreated. 74x141
WaveMaskData texture recreated. 74x141
================
29/05/2022 16:00:35: First-Chance Exception
Thread: 28 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
================
================
29/05/2022 16:00:35: First-Chance Exception
Thread: 28 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at Terraria.Utilities.FileUtilities.Copy(String source, String destination, Boolean cloud, Boolean overwrite)
at Terraria.Player.InternalSavePlayerFile(PlayerFileData playerFile)
at Terraria.Player.<>c__DisplayClass1706_0.<SavePlayer>b__0()
at Terraria.Utilities.FileUtilities.ProtectedInvoke(Action action)
at Terraria.Player.SavePlayer(PlayerFileData playerFile, Boolean skipMapSave)
================
================
29/05/2022 16:00:35: Unhandled Exception
Thread: 28 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at Terraria.Utilities.FileUtilities.Copy(String source, String destination, Boolean cloud, Boolean overwrite)
at Terraria.Player.InternalSavePlayerFile(PlayerFileData playerFile)
at Terraria.Player.<>c__DisplayClass1706_0.<SavePlayer>b__0()
at Terraria.Utilities.FileUtilities.ProtectedInvoke(Action action)
at Terraria.Player.SavePlayer(PlayerFileData playerFile, Boolean skipMapSave)
at Terraria.WorldGen.saveToonWhilePlayingCallBack(Object threadContext)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
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.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
================
================
29/05/2022 16:00:35: First-Chance Exception
Thread: 34 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
================
================
29/05/2022 16:00:35: First-Chance Exception
Thread: 34 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at Terraria.Utilities.FileUtilities.Copy(String source, String destination, Boolean cloud, Boolean overwrite)
at Terraria.IO.WorldFile.DoRollingBackups(String backupWorldWritePath)
at Terraria.IO.WorldFile.InternalSaveWorld(Boolean useCloudSaving, Boolean resetTime)
at Terraria.IO.WorldFile.<>c__DisplayClass57_0.<SaveWorld>b__0()
at Terraria.Utilities.FileUtilities.ProtectedInvoke(Action action)
at Terraria.IO.WorldFile.SaveWorld(Boolean useCloudSaving, Boolean resetTime)
at Terraria.IO.WorldFile.SaveWorld()
================
================
29/05/2022 16:00:35: Unhandled Exception
Thread: 34 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at Terraria.Utilities.FileUtilities.Copy(String source, String destination, Boolean cloud, Boolean overwrite)
at Terraria.IO.WorldFile.DoRollingBackups(String backupWorldWritePath)
at Terraria.IO.WorldFile.InternalSaveWorld(Boolean useCloudSaving, Boolean resetTime)
at Terraria.IO.WorldFile.<>c__DisplayClass57_0.<SaveWorld>b__0()
at Terraria.Utilities.FileUtilities.ProtectedInvoke(Action action)
at Terraria.IO.WorldFile.SaveWorld(Boolean useCloudSaving, Boolean resetTime)
at Terraria.IO.WorldFile.SaveWorld()
at Terraria.WorldGen.saveAndPlayCallBack(Object threadContext)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
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.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
================
Resolution changed to: 3440x1440.
WaveMaskData texture recreated. 1x1
WaveMaskData texture recreated. 74x141
WaveMaskData texture recreated. 74x141
WaveMaskData texture recreated. 74x141
================
29/05/2022 16:00:35: First-Chance Exception
Thread: 28 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
================
================
29/05/2022 16:00:35: First-Chance Exception
Thread: 28 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at Terraria.Utilities.FileUtilities.Copy(String source, String destination, Boolean cloud, Boolean overwrite)
at Terraria.Player.InternalSavePlayerFile(PlayerFileData playerFile)
at Terraria.Player.<>c__DisplayClass1706_0.<SavePlayer>b__0()
at Terraria.Utilities.FileUtilities.ProtectedInvoke(Action action)
at Terraria.Player.SavePlayer(PlayerFileData playerFile, Boolean skipMapSave)
================
================
29/05/2022 16:00:35: Unhandled Exception
Thread: 28 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at Terraria.Utilities.FileUtilities.Copy(String source, String destination, Boolean cloud, Boolean overwrite)
at Terraria.Player.InternalSavePlayerFile(PlayerFileData playerFile)
at Terraria.Player.<>c__DisplayClass1706_0.<SavePlayer>b__0()
at Terraria.Utilities.FileUtilities.ProtectedInvoke(Action action)
at Terraria.Player.SavePlayer(PlayerFileData playerFile, Boolean skipMapSave)
at Terraria.WorldGen.saveToonWhilePlayingCallBack(Object threadContext)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
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.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
================
================
29/05/2022 16:00:35: First-Chance Exception
Thread: 34 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
================
================
29/05/2022 16:00:35: First-Chance Exception
Thread: 34 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at Terraria.Utilities.FileUtilities.Copy(String source, String destination, Boolean cloud, Boolean overwrite)
at Terraria.IO.WorldFile.DoRollingBackups(String backupWorldWritePath)
at Terraria.IO.WorldFile.InternalSaveWorld(Boolean useCloudSaving, Boolean resetTime)
at Terraria.IO.WorldFile.<>c__DisplayClass57_0.<SaveWorld>b__0()
at Terraria.Utilities.FileUtilities.ProtectedInvoke(Action action)
at Terraria.IO.WorldFile.SaveWorld(Boolean useCloudSaving, Boolean resetTime)
at Terraria.IO.WorldFile.SaveWorld()
================
================
29/05/2022 16:00:35: Unhandled Exception
Thread: 34 []
Culture: en-GB
Exception: System.IO.IOException: The system cannot find message text for message number 0x%1 in the message file for %2.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost)
at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite)
at Terraria.Utilities.FileUtilities.Copy(String source, String destination, Boolean cloud, Boolean overwrite)
at Terraria.IO.WorldFile.DoRollingBackups(String backupWorldWritePath)
at Terraria.IO.WorldFile.InternalSaveWorld(Boolean useCloudSaving, Boolean resetTime)
at Terraria.IO.WorldFile.<>c__DisplayClass57_0.<SaveWorld>b__0()
at Terraria.Utilities.FileUtilities.ProtectedInvoke(Action action)
at Terraria.IO.WorldFile.SaveWorld(Boolean useCloudSaving, Boolean resetTime)
at Terraria.IO.WorldFile.SaveWorld()
at Terraria.WorldGen.saveAndPlayCallBack(Object threadContext)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
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.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
================
Info:
- Fresh 2 day old install, Terraria wasn't installed prior to that, no mods or anything like that, fresh new world and character too.
- More than required PC (16 gb ram, rtx 3060, ryzen 7 5800H, ssd )
- Windows 11.
- Steam, v1.4.3.6
- No similar issues on any of the other 50+ games or software I've run here.
- No Anti-Virus used
Things I've already tried that did not prevent the crashes:
- using launch options to move terraria data to %localappdata%/Terraria
- updating all drivers (nvidia, windows, asus)
- downgrading nvidia drivers
- manually updating corsair cue SDK file (which i wasn't using anyway) to newest github one
- disabling all RGB sync in config file
- reinstalling/repairing microsoft net and xna frameworks
- checking drive for errors (none found)
- using different drive
- disabling windows defender
- disabling steam cloud, steam overlay
- trying other frame skip options
- running world on private server
- checked file integrity on steam (no issue found)
- had a good night's sleep hoping it was some nightmare, just to wake up to a fresh batch of new Terraria crashes after booting up PC and playing a little. (meaning, yes, I did try turning it off and on again)
- ran as admin
- turned off world rollback
- using different steam account
Basically, help.
I mean, from the error log it's obvious the issue is with saving the player character / world, but what else can I do to fix it? I've already tried moving the Terraria saves directory to localappdata and verified that I have all the permissions in these directories. + The crash doesn't happen every save, just randomly.
Last edited: