System.Runtime.InteropServices.COMException (0x80070008): Not enough storage is available to process

Posted by Darryl Braaten on Stack Overflow See other posts from Stack Overflow or by Darryl Braaten
Published on 2010-03-12T19:19:56Z Indexed on 2010/03/12 19:27 UTC
Read the original article Hit count: 1941

Filed under:
|
|

I am trying to diagnose this exception.
"System.Runtime.InteropServices.COMException (0x80070008): Not enough storage is available to process this command. (Exception from HRESULT: 0x80070008) at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType) at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(Type objectType) at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(Type serverType) at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(Type serverType, Object[] props, Boolean bNewObj) at Oracle.DataAccess.Client.CThreadPool..ctor() at Oracle.DataAccess.Client.OracleCommand.set_CommandTimeout(Int32 value) ...

It does not look like any of the normal types of "storage" have hit any limits. The application is using about 400MB of memory, 70 threads, 2000 handles and the hard drive has many GB free. The machine is running Windows 2003 Enterprise server with 16GB of RAM so memory shouldn't be an issue.

The application is running as a windows service so there are no GDI objects being used. Running out of GDI handles is a common cause of this exception.

Database connections, commands & readers are all all wrapped with using blocks so they should be getting cleaned up correctly.

© Stack Overflow or respective owner

Related posts about .NET

Related posts about oracle10g