Open
Description
Summary
When BizHawk attempts to save to a file that is being accessed by Dropbox, an error dialog will pop up, then BizHawk will crash entirely.
I'm on Windows, using a personally modified version of BizHawk forked from late 2.9 cc0f141, with some minor changes to file extensions - nothing that would affect this.
Ideally this should fail and try again later, rather than crash the entire program.
I've tried to find similar issues and can't find any, apologies if I missed any. I also apologise if this has been fixed with 2.10.
Repro
- Run BizHawk while its save directory is pointed at a directory managed by Dropbox.
- Play a game, optionally with autosaving enabled.
- Wait for a clash between BizHawk autosaving and Dropbox syncing.
Output
System.IO.IOException: The process cannot access the file 'C:\Users\Ladybunne\Dropbox\Media\Games\Emulation\SaveRAM\GBA\Yu-Gi-Oh! - Ultimate Masters - World Championship Tournament 2006 (USA) (En,Ja,Fr,De,Es,It).Autosave.srm.bak' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileInfo.Delete()
at BizHawk.Client.EmuHawk.MainForm.FlushSaveRAM(Boolean autosave) in C:\Users\Ladybunne\repos\BizHawk\src\BizHawk.Client.EmuHawk\MainForm.cs:line 2002
at BizHawk.Client.EmuHawk.MainForm.StepRunLoop_Core(Boolean force) in C:\Users\Ladybunne\repos\BizHawk\src\BizHawk.Client.EmuHawk\MainForm.cs:line 3051
at BizHawk.Client.EmuHawk.MainForm.ProgramRunLoop() in C:\Users\Ladybunne\repos\BizHawk\src\BizHawk.Client.EmuHawk\MainForm.cs:line 897
at BizHawk.Client.EmuHawk.Program.SubMain(String[] args) in C:\Users\Ladybunne\repos\BizHawk\src\BizHawk.Client.EmuHawk\Program.cs:line 352
Host env.
- Modified BizHawk dev build from
late 2.9cc0f141 (see here: https://github.com/ladybunne/BizHawk/tree/srm-crimes)