.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
 
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
david stephan

Home >> Forum >> IIS >> Post New QuestionBookmark and Share Subscribe to Forum

IIS 7 Faulting application name: w3wp.exe

Posted By: anup     Posted Date: October 04, 2013    Points:5   Category :IIS
We had created a website using WCSF framework and .NET 2.0.

Currently this application is live and used by more than 1000 users. We have deployed this in a cloud in IIS 7 under Windows 2008 Server R2. We also use Sql Server 2008 R2 database for the backend. The deployment architecture is as described below.

There are two web servers connected under a load balancer (Hardware based) using sticky sessions. These two servers communicates with two database servers with more than 600 databases scattered evenly between them. All requests will first go to a admin database which redirects to the appropriate db server.

Now to the issue....

We are getting around 4 to 5 w3wp crashes per day in both the servers. During this time all the users connected to the application will be logged out.

Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18229, time stamp: 0x51fb1677
Exception code: 0xe053534f
Fault offset: 0x000000000000940d
Faulting process id: 0x%9
Faulting application start time: 0x%10
Faulting application path: %11
Faulting module path: %12
Report Id: %13

Recently we opened a case with MS and their comments is given below.

The process crashed due to Stack Overflow issue.
.Net Call Stack
System.Enum.System.IConvertible.ToInt64(System.IFormatProvider)
System.Convert.ToInt64(System.Object, System.IFormatProvider)
System.Enum.ToUInt64(System.Object)
System.Enum.IsDefined(System.Type, System.Object)
Microsoft.Practices.ObjectBuilder.Locator.Get(System.Object, Microsoft.Practices.ObjectBuilder.SearchMode)
Microsoft.Practices.ObjectBuilder.ReadableLocator.Get[[System.__Canon, mscorlib]](System.Object)
<Trimmed>
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)

Full Call Stack

We are seeing that the call is made for the URL :- ASP.xxxdashboards_recordlistview_aspx

ntdll!ZwTerminateProcess
KERNELBASE!TerminateProcess+2f
mscorwks!EEPolicy::HandleFatalStackOverflow+13b
mscorwks!EEPolicy::HandleStackOverflow+212
mscorwks!CLRVectoredExceptionHandler+3de1be
mscorwks!CLRVectoredExceptionHandlerShim+42
ntdll!RtlpCallVectoredHandlers+a8
ntdll!RtlDispatchException+22
ntdll!KiUserExceptionDispatch+2e
KERNELBASE!RaiseException+39
mscorwks!AllocateObject+34aeb1
mscorwks!MethodTable::FastBox+43
mscorwks!MethodTable::Box+5b
mscorwks!ReflectionEnum::InternalGetEnumValue+139
System.Enum.System.IConvertible.ToInt64(System.IFormatProvider)+b
System.Convert.ToInt64(System.Object, System.IFormatProvider)+35
System.Enum.ToUInt64(System.Object)+9d
System.Enum.IsDefined(System.Type, System.Object)+ff
Microsoft.Practices.ObjectBuilder.Locator.Get(System.Object, Microsoft.Practices.ObjectBuilder.SearchMode)+4d
Microsoft.Practices.ObjectBuilder.ReadableLocator.Get[[System.__Canon, mscorlib]](System.Object)+10
Microsoft.Practices.CompositeWeb.BuilderStrategies.SessionStateBindingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+11f
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+56
Microsoft.Practices.CompositeWeb.BuilderStrategies.SessionStateBindingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+2be
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+56
Microsoft.Practices.CompositeWeb.BuilderStrategies.SessionStateBindingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+2be
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+56
Microsoft.Practices.CompositeWeb.BuilderStrategies.SessionStateBindingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+2be
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+56
Microsoft.Practices.CompositeWeb.BuilderStrategies.SessionStateBindingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+2be
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+56
Microsoft.Practices.CompositeWeb.BuilderStrategies.SessionStateBindingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+2be

<Trimmed>

Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+56
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+28e
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+56
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+28e
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+56
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)+28e
Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderBase`1[[Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderStage, Microsoft.Practices.CompositeWeb]].DoBuildUp(Microsoft.Practices.ObjectBuilder.IReadWriteLocator, System.Type, System.String, System.Object, Microsoft.Practices.ObjectBuilder.PolicyList[])+13a
Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderBase`1[[Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderStage, Microsoft.Practices.CompositeWeb]].BuildUp(Microsoft.Practices.ObjectBuilder.IReadWriteLocator, System.Type, System.String, System.Object, Microsoft.Practices.ObjectBuilder.PolicyList[])+64
Microsoft.Practices.CompositeWeb.CompositionContainer.BuildItem(Microsoft.Practices.ObjectBuilder.IBuilder`1<Microsoft.Practices.CompositeWeb.ObjectBuilder.WCSFBuilderStage>, Microsoft.Practices.ObjectBuilder.IReadWriteLocator, System.Object)+334
Microsoft.Practices.CompositeWeb.WebClientApplication.BuildItemWithCurrentContext(System.Object)+121
Microsoft.Practices.CompositeWeb.Web.UI.UserControl.OnInit(System.EventArgs)+3f
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+8f
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+187
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+187
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+187
System.Web.UI.Control.AddedControl(System.Web.UI.Control, Int32)+10f
DevExpress.Web.ASPxTabControl.Internal.PCContentsControl.CreateControlHierarchy()+2ae
DevExpress.Web.ASPxClasses.ASPxWebControlBase.CreateChildControls()+33

<Trimmed>
System.Web.UI.Control.EnsureChildControls()+92
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControls()+9
DevExpress.Web.ASPxClasses.ASPxWebControlBase.DevExpress.Web.ASPxClasses.Internal.IASPxWebControl.EnsureChildControls()+d
DevExpress.Web.ASPxClasses.Internal.RenderUtils.EnsureChildControlsRecursive(System.Web.UI.Control, Boolean)+3e
DevExpress.Web.ASPxClasses.Internal.RenderUtils.EnsureChildControlsRecursive(System.Web.UI.Control, Boolean)+d0
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(System.Web.UI.Control)+25
DevExpress.Web.ASPxClasses.ASPxWebControl.CreateChildControls()+166
System.Web.UI.Control.EnsureChildControls()+92
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControls()+9
DevExpress.Web.ASPxClasses.ASPxWebControlBase.DevExpress.Web.ASPxClasses.Internal.IASPxWebControl.EnsureChildControls()+d
DevExpress.Web.ASPxClasses.Internal.RenderUtils.EnsureChildControlsRecursive(System.Web.UI.Control, Boolean)+3e
DevExpress.Web.ASPxClasses.Internal.RenderUtils.EnsureChildControlsRecursive(System.Web.UI.Control, Boolean)+d0
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControlsRecursive(System.Web.UI.Control)+25
DevExpress.Web.ASPxClasses.ASPxWebControl.CreateChildControls()+166
System.Web.UI.Control.EnsureChildControls()+92
DevExpress.Web.ASPxClasses.ASPxWebControlBase.EnsureChildControls()+9
DevExpress.Web.ASPxClasses.ASPxWebControl.InitInternal()+48
DevExpress.Web.ASPxClasses.ASPxDataWebControlBase.OnInit(System.EventArgs)+1c
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+8f
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+187
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+187
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+187
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+187
System.Web.UI.Control.InitRecursive(System.Web.UI.Control)+187
System.Web.UI.Page.ProcessRequestMain(Boolean, Boolean)+5c5
System.Web.UI.Page.ProcessRequest(Boolean, Boolean)+a0
System.Web.UI.Page.ProcessRequest()+5b
System.Web.UI.Page.ProcessRequest(System.Web.HttpContext)+f0
ASP.xxxdashboards_recordlistview_aspx.ProcessRequest(System.Web.HttpContext)+9

We are seeing the following code in a tight recursive loop which is eventually leading into StackOverflow situation.

Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.ObjectBuilder.BuilderStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)
Microsoft.Practices.CompositeWeb.BuilderStrategies.ContainerAwareTypeMappingStrategy.BuildUp(Microsoft.Practices.ObjectBuilder.IBuilderContext, System.Type, System.Object, System.String)

Further, they also added the following.

Looked into the code to see the infinite loop and here seems to be the case
Inside Microsoft_Practices_CompositeWeb!Microsoft.Practices.CompositeWeb.BuilderStrategies.SessionStateBindingStrategy

public override object BuildUp(IBuilderContext context, Type typeToBuild, object existing, string idToBuild)
{
ISessionStateLocatorService service = context.Locator.(object);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://Microsoft.Practices.ObjectBuilder:1.0.51206.0:b03f5f7f11d50a3a/Microsoft.Practices.ObjectBuilder.IReadableLocator/Get<>(Object):"Get<ISessionStateLocatorService>(new DependencyResolutionLocatorKey(typeof(ISessionStateLocatorService), null));
if (service != null)
{
IHttpSessionState sessionState = service.GetSessionState();
foreach (FieldInfo info in typeToBuild.GetFields())
{
this.SetFieldValue(existing, info, sessionState);
}
}
return base.BuildUp(context, typeToBuild, existing, idToBuild);
}


So this calls the BuildUp defined in Microsoft_Practices_ObjectBuilder!Microsoft.Practices.ObjectBuilder.BuilderStrategy


public virtual object BuildUp(IBuilderContext context, Type typeToBuild, object existing, string idToBuild)
{
IBuilderStrategy nextInChain = context.GetNextInChain(this);
if (nextInChain != null)
{
return nextInChain.BuildUp(context, typeToBuild, existing, idToBuild);
}
return existing;
}

This results in infinite loop.

We are not sure where to look for the issue at the moment and if anybody could help us to solve the issue it would be very much appreciated.

Thanks,
Anup

Responses

No response found. Be the first to respond this post
Post Reply

You must Sign In To post reply
 
 
Find more Forum Questions on C#, ASP.Net, Vb.Net, SQL Server and more Here
Quick Links For Forum Categories:
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  OOPs  SilverlightIISJQuery
JavaScript/VBScriptBiztalkWPFPatten/PracticesWCFOthers
www.DotNetSpark.comUnAnsweredAll

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend