views:

275

answers:

2

After nearly 5 months with this configuration I am now getting a series of:

"A process serving application pool 'Classic .NET AppPool' suffered a fatal communication error with the Windows Process Activation Service. The process id was '1640'."

This leads to:

Application pool 'Classic .NET AppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

I cannot, for the life of me, figure out what changed to start causing this nor can I figure out how to possibly dig in deeper to find out what is causing it to fail.

I recently (2 weeks ago) started adding Entity Frameworks to my solution. Right before this happened I did get an "out of stack space" error due to a reported self-referenced call. I cannot find any calls like that in the code I wrote and am suspecting EF may have added a join in my simple (3 table) model that is wrong.

Any ideas on where to start looking? What would cause the AppPool to fail?

TIA


NOTE:

An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll

I have an outside object that calls this method to get a single record:

public static AutoNegotiationDetails GetAutoNegotiationByCompany(Guid companyId)
{
    return RivWorks.Controller.Negotiation.GetAutoNegotiationByCompany(companyId);
}

That method calls into:

internal static AutoNegotiationDetails GetAutoNegotiationByCompany(Guid companyId)
{
    var autoNeg = from a in _dbRiv.AutoNegotiationDetails where a.CompanyId == companyId select a;
    var ret = autoNeg.FirstOrDefault();
    return ret;
}

In stepping through it I can set a break point inside the first method, step into the second method, see the record populated, return to the first method then finally exit the method. At that point my IDE locks up for a few seconds until I get the StackOverflow error.

For a more accurate picture of the whole system:

  • Running WebOrb30 on the IIS machine.
  • In the VS IDE -> Attach to Process (INETINFO.exe)
  • Log into WebOrb30 -> Management Console -> Drill down to service entry point -> Enter CompanyID into input box -> Click Invoke
  • Hit break point in VS IDE -> (See above)

NOTE:

Looks like it may be caused by another issue in EF. See http://stackoverflow.com/questions/2067866/c-entity-framework-an-unhandled-exception-of-type-system-stackoverflowexcep for further clarification.

A: 

I may be that you have two apps/sites using one app pool, but the apps/sites are running different .net versions.

This might not be the case, but its the only similar recurring problem i've ever had with iis.

runrunraygun
I've only one app right now though it is running a simple WCF service as well (and has been for some weeks). I added to my post so that may shed some light in another direction.
Keith Barrows
A: 

Because of a bug in my Entity Framework I was getting a cyclic call into one of my relationships. This was causing a stack overflow which was reported to WebOrb as a general error and WebOrb would halt causing the App Pool to crash. (I still don't quite understand all the specifics). When I rebuilt my EF Model without the relationships the behavior went away. (sigh/)

EF will be another question (or series of questions).

Keith Barrows