View Issue Details

IDProjectCategoryLast Update
0006341Valley 1Crash/ExceptionMar 5, 2012 10:57 am
ReporterKDR_11k Assigned Tokeith.lamothe  
Status resolvedResolutionfixed 
Product Version0.900 (Beta Series 3) 
Fixed in Version0.903 
Summary0006341: Unhandled error: Access to region.dat denied.
DescriptionUpon entering a room I got the "fatal error" message and when I checked the log I found this stacktrace:

3/2/2012 9:33:48 PM (0.900)
-----------------------------------
UnhandledErrors-----------------------------------
3/2/2012 9:33:48 PM (0.900)
-----------------------------------Error-----------------------------------Log String: FixedUpdate: System.UnauthorizedAccessException: Access to the path "E:\games\AVWW\RuntimeData\Worlds\Environ 4\Region_25\regioninterior.dat" is denied.
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append) [0x00000] in <filename unknown>:0
  at Configuration.AppendTextToFile (System.String Filename, System.String Text) [0x00000] in <filename unknown>:0
  at Region.SaveInteriorDataToDisk () [0x00000] in <filename unknown>:0
  at World.CheckForRegionInteriorsNeedingSavedToDisk (Boolean CanSaveToDiskThisTime, Boolean SaveEverythingPendingRegardlessOfPerformanceImpact) [0x00000] in <filename unknown>:0
  at Game.ProcessSimStep () [0x00000] in <filename unknown>:0
  at Game.RunNextCycle (Boolean DoRendering) [0x00000] in <filename unknown>:0
  at Game.RunFrame () [0x00000] in <filename unknown>:0
  at MainCameraLogic.Update () [0x00000] in <filename unknown>:0
Stack Trace: at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00000] in <filename unknown>:0
  at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append, System.Text.Encoding encoding, Int32 bufferSize) [0x00000] in <filename unknown>:0
  at System.IO.StreamWriter..ctor (System.String path, Boolean append) [0x00000] in <filename unknown>:0
  at Configuration.AppendTextToFile (System.String Filename, System.String Text) [0x00000] in <filename unknown>:0
  at Region.SaveInteriorDataToDisk () [0x00000] in <filename unknown>:0
  at World.CheckForRegionInteriorsNeedingSavedToDisk (Boolean CanSaveToDiskThisTime, Boolean SaveEverythingPendingRegardlessOfPerformanceImpact) [0x00000] in <filename unknown>:0
  at Game.ProcessSimStep () [0x00000] in <filename unknown>:0
  at Game.RunNextCycle (Boolean DoRendering) [0x00000] in <filename unknown>:0
  at Game.RunFrame () [0x00000] in <filename unknown>:0
  at MainCameraLogic.Update () [0x00000] in <filename unknown>:0


I've seen this one before but it only happens very rarely. This PC has Kaspersky running, if that matters. I have no idea how to reproduce it a restart fixes the problem.
TagsNo tags attached.
Internal WeightNew

Activities

Chris_McElligottPark

Mar 2, 2012 4:03 pm

administrator   ~0020185

To our knowledge, this can only happen when something else in the OS is writing to that same file at the same time. Or in the case of something like dropbox, even just dropbox reading it locks the files.

That error you posted means "The OS says you can't write to this file that you own."

KDR_11k

Mar 2, 2012 4:28 pm

reporter   ~0020190

Yes but there's nothing that should be write-locking the file.

Chris_McElligottPark

Mar 2, 2012 4:58 pm

administrator   ~0020194

Do you have any processes that are running that would be backing up that folder continuously? Dropbox is known to cause this issue.

I will try to build in more robustness about this, but the core issue is other programs write-locking files when they just should be reading from them. I think that the reason they might do that is to avoid getting corrupted files -- if they are reading from a file while we are writing to it, then they wind up sending half and half to your other computers, which I'm sure is what they are trying to avoid. Unfortunately, they also break our game from being able to write to its own files when it darn well pleases when they do this. ;)

KDR_11k

Mar 3, 2012 4:39 am

reporter   ~0020235

None that I know of. Kaspersky could theoretically be checking it but I haven't encountered access violations anywhere else so I don't think it does locking. Usually I have Opera, Steam, SpringLobby (that's a lobby for Spring RTS) and iTunes open, none of which strike me as something that would lock the files.

Is it possible for multiple threads of execution to lock a file against each other?

keith.lamothe

Mar 5, 2012 10:57 am

administrator   ~0020365

For 0.903:

* Fixed a bug where the game would crash if the OS prevented it from writing to certain files (notably, region interior data). It will now just complain bitterly in the chat log so that the player can know something is wrong but without causing additional errors due to not handling the exception.

Thanks :)

Issue History

Date Modified Username Field Change
Mar 2, 2012 3:40 pm KDR_11k New Issue
Mar 2, 2012 4:03 pm Chris_McElligottPark Note Added: 0020185
Mar 2, 2012 4:28 pm KDR_11k Note Added: 0020190
Mar 2, 2012 4:58 pm Chris_McElligottPark Note Added: 0020194
Mar 3, 2012 4:39 am KDR_11k Note Added: 0020235
Mar 5, 2012 10:57 am keith.lamothe Internal Weight => New
Mar 5, 2012 10:57 am keith.lamothe Note Added: 0020365
Mar 5, 2012 10:57 am keith.lamothe Status new => resolved
Mar 5, 2012 10:57 am keith.lamothe Fixed in Version => 0.903
Mar 5, 2012 10:57 am keith.lamothe Resolution open => fixed
Mar 5, 2012 10:57 am keith.lamothe Assigned To => keith.lamothe
Apr 14, 2014 9:28 am Chris_McElligottPark Category Bug - Crash or Exception => Crash/Exception