3
votes

I have a large application running on a bunch of machines. Once every 5 minutes it copies a file to do some manipulation on it.

The code works without a hitch almost 99.9% of the time but once every few hours I might get the error discussed here.

Here's the code:

try
 {
  File.Copy(fullPathName, readPathName, true);
 }
catch (Exception exception)
 {
 ....
 }

This code runs in its own thread but should only be one of these threads running. Here's the error I get:

Encountered an unexpected exception when trying to create the .tmp file. Not enough quota is available to process this command.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite) at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite) at ....

4
We got part of your stack trace, but the actual error seems to be missing. - Merlyn Morgan-Graham
Quota can be user space or user memory. Check if there are any limiting settings on the user and on the drive you're working on. - CodingBarfield
This question may be useful / interesting stackoverflow.com/questions/12584619/… - Dave

4 Answers

2
votes

Not enough quota is available to process this command means that your system was running low on resources. It's hard to tell what the problem was exactly, but there's almost certainly nothing your code can do but retry the operation.

0
votes

Please check the user permission to write the file. It may be causing due to insufficient user rights to create or overwrite the file.

0
votes

Check if your file is not locked by other process. You can easily do it with Process Explorer

0
votes

This sounds like you either have a memory leak in your application, or too little memory set up on your (virtual?) machine.

See this link: http://msdn.microsoft.com/en-us/library/ms820778.aspx