View Issue Details

IDProjectCategoryLast Update
0004800Valley 1Crash/ExceptionJan 12, 2012 2:12 pm
ReporterGrimerX Assigned ToChris_McElligottPark  
Status closedResolutionnot fixable 
Product Version0.522 
Summary0004800: String: FixedUpdate: System.UnauthorizedAccessException: Access to the path "C:\Program Files (x86)\AVWW\RuntimeData\Worlds\Worl
DescriptionAdding world file for good measure. Happened when I killed first of 2 bat bosses (last pair in the dungeon region)

10/11/2011 9:36:29 PM (0.522)
-----------------------------------
UnhandledErrors-----------------------------------
10/11/2011 9:36:29 PM (0.522)
-----------------------------------Error-----------------------------------Log String: FixedUpdate: System.UnauthorizedAccessException: Access to the path "C:\Program Files (x86)\AVWW\RuntimeData\Worlds\World 5\Region_117\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


TagsNo tags attached.
Internal WeightGame Crash

Relationships

related to 0004219 resolvedChris_McElligottPark Unauthorised Access Exception 

Activities

Bossman

Oct 12, 2011 1:23 am

reporter   ~0016434

The file probably got set to read-only. Right-click your World 5 folder, click Properties, uncheck Read-only and click OK.

GrimerX

Oct 12, 2011 2:00 am

reporter   ~0016437

That file is not set to read-only, but every directory is (same as all worlds from previous versions)

Not sure why the directory is getting set to read-only. Anyway, other chunks work fine, it was only this one that barfed.

Chris, do you lock files for read or write? My guess is a lingering file handle.

FallingStar

Oct 12, 2011 3:18 am

reporter   ~0016439

Last edited: Oct 12, 2011 3:19 am

Had a similar issue earlier, that I finally figured out. 004219 in mantis on this (can't figure out linking yet =p)

Possibility:

Are you running a real time virus scanner (I have Kasperkey and it dislikes AVWW)and gives this sort of error that would intermittently crop up.

Setting the main .exe to a trusted file works, though I have to reset it when the game updates.

Hope it helps.

Chris_McElligottPark

Oct 12, 2011 8:30 am

administrator   ~0016447

Linked from FallingStar -- does 0004219 help, GrimerX?

GrimerX

Oct 14, 2011 7:39 pm

reporter   ~0016583

Seems to be related to Live Mesh file syncing. While it is running, AVVW.exe will sometimes fail the CreateFile request due to "PENDING DELETE". I could repro this relatively easily by entering/exiting buildings.
W/O Live Mesh running, I can't repro.

I can't prove that it is Live Mesh -- I see it interacting with the file, but not in a way that should put the file in a DELETE PENDING state (indeed, file handle properties indicate it's not in that state in every operation up to the failed request). It may also be something running in kernel mode; I don't see anything else running in user mode (in terms of a component integrated into the callpath). I have not tried to repro with DropBox or a real-time backup solution. I did verify the real-time Anti-Malware engine access the file, but does not cause this condition.

So -- up to you how you want to handle cases where other apps interfere with your file I/O. I don't know what the impact of missing a regioninterior.dat (the only file I've seen it happen with) update.

Chris_McElligottPark

Oct 14, 2011 7:43 pm

administrator   ~0016584

Well -- when other programs lock files that the game is trying to write, its really a quite big problem. At the moment it's going to be causing you some instability from then on, and frankly it's also quite likely to cause you data loss such as missing a whole dungeon or similar. It could be as low-level as missing the fact that a lietenant should be marked as killed on the world map, but still.

The game is rather under the assumption that other programs won't be locking the files that it's writing as it writes them. I could make that more robust, and probably should, but at the end of the day -- given the frequency it writes its files to keep them current -- something that is trying to sync them actively is a bad idea. That would at best lead to periodic bits of lag in AVWW, and also likely will lead to loads of wasted bandwidth.

Backing up the files is great, but I suggest something that is run periodically, and not when you're actively running the game. For instance, I used to use Mozy Home, and now I use Jungle Disk, to back up all my stuff of that nature. It only runs at 1am or so, when I'm not actively on my computer.

GrimerX

Oct 14, 2011 7:52 pm

reporter   ~0016585

I think it's a fair assumption :-)

FWIW, My scenario isn't backup -- it's just that I use multiple computers, and hate any manual process for file sync. Generally it works but I don't expect others to dev towards it. I think even something like Steam Cloud @100Mb -- while most people may not hit that limit, the audience who are most likely to hit it would be your core audience.

Anyway, random thoughts from me. I'm following up with Live Mesh in the meantime, they should support this scenario properly.

Chris_McElligottPark

Oct 14, 2011 7:57 pm

administrator   ~0016586

All makes sense. I also use Dropbox for some stuff, for the same reasons as you use this, but I don't use it for files that I write _that_ frequently.

For live mesh, if they were able to basically make it so that they did a lock-less file copy from one folder to a shadow folder, and then did a verification of the file in the shadow folder against the full current file on your disk (also for internal consistency), they could then write the shadow folder's copy of the file at their leisure without locking any of the core files.

That is how, for example, the IIS web server compiles ASP.NET websites while allowing compiling against them at any time, and it's also part of how SVN seems to work with a lot of its diffs and comparisons without actually locking the primary files during its activities. Something like that winds up using more disk space, either in general or during the diff operations, and it can also slow down the actual sync itself, but for things that are being "hot updated" while it is actively trying to sync them, that would prevent issues with the updates.

Issue History

Date Modified Username Field Change
Oct 12, 2011 12:44 am GrimerX New Issue
Oct 12, 2011 12:44 am GrimerX File Added: World 5.zip
Oct 12, 2011 1:23 am Bossman Note Added: 0016434
Oct 12, 2011 2:00 am GrimerX Note Added: 0016437
Oct 12, 2011 3:18 am FallingStar Note Added: 0016439
Oct 12, 2011 3:19 am FallingStar Note Edited: 0016439
Oct 12, 2011 6:29 am tigersfan Internal Weight => Game Crash
Oct 12, 2011 6:29 am tigersfan Assigned To => Chris_McElligottPark
Oct 12, 2011 6:29 am tigersfan Status new => assigned
Oct 12, 2011 8:29 am Chris_McElligottPark Relationship added related to 0004219
Oct 12, 2011 8:30 am Chris_McElligottPark Note Added: 0016447
Oct 12, 2011 8:03 pm Chris_McElligottPark Status assigned => feedback
Oct 14, 2011 7:39 pm GrimerX Note Added: 0016583
Oct 14, 2011 7:39 pm GrimerX Status feedback => assigned
Oct 14, 2011 7:43 pm Chris_McElligottPark Note Added: 0016584
Oct 14, 2011 7:52 pm GrimerX Note Added: 0016585
Oct 14, 2011 7:57 pm Chris_McElligottPark Note Added: 0016586
Jan 12, 2012 2:12 pm Chris_McElligottPark Status assigned => closed
Jan 12, 2012 2:12 pm Chris_McElligottPark Resolution open => not fixable
Apr 14, 2014 9:28 am Chris_McElligottPark Category Bug - Crash or Exception => Crash/Exception