Joe Joe - 2 months ago 12
ASP.NET (C#) Question

ExecutionEngineException (80131506) in mscorlib.dll when processing asp:ScriptManager

I just recently started getting an ExecutionEngineException (80131506) when I run any of our existing ASP.NET applications locally with a asp:ScriptManger tag in the .aspx page.

The Error Message is:

Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error in the .NET Runtime at IP 00007FFB75209A99 (00007FFB75170000) with exit code 80131506.


This issue started happening after I got the Windows 10 Anniversary Update so I think that these might be related, but that is just a guess.

Here are my current findings:


  • It happens on all of our existing applications that have ScriptManagers when running locally on my machine. Many of these I have not updated for over a year. and are still working fine on other non-Windows 10 Anniversary machines. We do not have another developer with the latest Windows 10 updates to test it.

  • I got all the lasted Windows updates

  • I tried previous versions of the applications (just in case)

  • I first did a repair and then a uninstall and reinstall of Visual Studio 2013

  • I turned IIS and .NET off and back on in Windows Features

  • I cleared the asp.net temporary files

  • DebugDiag output shows the following:




.NET Call Stack

[[HelperMethodFrame_2OBJ]
(System.Reflection.PseudoCustomAttribute._GetSecurityAttributes)]
System.Reflection.PseudoCustomAttribute._GetSecurityAttributes(System.Reflection.RuntimeModule,
Int32, Boolean, System.Object[]ByRef)
mscorlib_ni!System.Reflection.PseudoCustomAttribute.GetCustomAttributes(System.Reflection.RuntimeAssembly,
System.RuntimeType, Boolean, Int32 ByRef)+13b
mscorlib_ni!System.Reflection.CustomAttribute.GetCustomAttributes(System.Reflection.RuntimeAssembly,
System.RuntimeType)+26
mscorlib_ni!System.Reflection.RuntimeAssembly.GetCustomAttributes(Boolean)+26
System_Web_Extensions_ni!System.Web.UI.AssemblyCache.SafeGetAjaxFrameworkAssemblyAttribute(System.Reflection.ICustomAttributeProvider)+1f
System_Web_Extensions_ni!System.Web.UI.AssemblyCache.GetAjaxFrameworkAssemblyAttribute(System.Reflection.Assembly)+3e
System_Web_Extensions_ni!System.Web.UI.ScriptManager.get_DefaultAjaxFrameworkAssembly()+181 System_Web_Extensions_ni!System.Web.UI.ScriptManager..ctor()+1c
ASP.includes_donorsearch_ascx.__BuildControlScriptManager1()+4e
ASP.includes_donorsearch_ascx.__BuildControlTree(ASP.includes_donorsearch_ascx)+72 ASP.includes_donorsearch_ascx.FrameworkInitialize()+3c
System_Web_ni!System.Web.UI.UserControl.InitializeAsUserControlInternal()+25 System_Web_ni!System.Web.UI.UserControl.InitializeAsUserControl(System.Web.UI.Page)+14
ASP.donorsearch_aspx.__BuildControlDonorSearch1()+87
ASP.donorsearch_aspx.__BuildControlcontentDefault(System.Web.UI.Control)+68
System_Web_ni!System.Web.UI.CompiledTemplateBuilder.InstantiateIn(System.Web.UI.Control)+10
System_Web_ni!System.Web.UI.MasterPage.InstantiateInContentPlaceHolder(System.Web.UI.Control,
System.Web.UI.ITemplate)+59
ASP._primary_master.__BuildControlprimaryContent()+114
ASP._primary_master.__BuildControlform3()+120
ASP._primary_master.__BuildControlTree(ASP._primary_master)+ef
ASP._primary_master.FrameworkInitialize()+3c
System_Web_ni!System.Web.UI.UserControl.InitializeAsUserControlInternal()+25 System_Web_ni!System.Web.UI.MasterPage.CreateMaster(System.Web.UI.TemplateControl,
System.Web.HttpContext, System.Web.VirtualPath,
System.Collections.IDictionary)+2a1
System_Web_ni!System.Web.UI.Page.get_Master()+38
System_Web_ni!System.Web.UI.Page.ApplyMasterPage()+f
System_Web_ni!System.Web.UI.Page.PerformPreInit()+34
System_Web_ni!System.Web.UI.Page.ProcessRequestMain(Boolean,
Boolean)+129 System_Web_ni!System.Web.UI.Page.ProcessRequest(Boolean,
Boolean)+85 System_Web_ni!System.Web.UI.Page.ProcessRequest()+49
System_Web_ni!System.Web.UI.Page.ProcessRequestWithNoAssert(System.Web.HttpContext)+17
System_Web_ni!System.Web.UI.Page.ProcessRequest(System.Web.HttpContext)+3b
ASP.donorsearch_aspx.ProcessRequest(System.Web.HttpContext)+26
System_Web_ni!System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+bd
System_Web_ni!System.Web.HttpApplication.ExecuteStep(IExecutionStep,
Boolean ByRef)+46
System_Web_ni!System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)+427
System_Web_ni!System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext,
System.AsyncCallback)+60
System_Web_ni!System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest,
System.Web.HttpContext)+bb
System_Web_ni!System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr,
IntPtr, IntPtr, Int32)+32f [[InlinedCallFrame]]
System_Web_ni!System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr,
IntPtr, IntPtr, Int32)+1f
System_Web_ni!DomainNeutralILStubClass.IL_STUB_PInvoke(IntPtr,
System.Web.RequestNotificationStatus ByRef)+3d [[InlinedCallFrame]]
System_Web_ni!System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr,
IntPtr, IntPtr, Int32)+4d2 [[InlinedCallFrame]]
System_Web_ni!System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr,
IntPtr, IntPtr, Int32)+1f [[ContextTransitionFrame]]


It looks like the error is occurring in the Ajax callback during the build control ScriptManager.


ASP.includes_donorsearch_ascx.__BuildControlScriptManager1



  • I also noticed that when I tried to Trace the issue with JetBrains dotTrace the error did not occur. dotTrace turns off the IIS services and runs it directly.



My current guess is that either something on my machine got messed up or that the Windows 10 Anniversary edition introduced the problem.

As anyone seen this issue before? Although the error always occurs in the ScriptManger as this error is related to the GC I wonder if the issue resides somewhere else and is just showing up here.

I know this is not much to go on but I thought that someone else may be experiencing the same issue?

Thank you.
Joseph

Answer Source

Have you been able to find a fix for this, other than rolling back to a previous Windows version? We are seeing exactly the same behavior, and we've confirmed on multiple machines that it appears after updating to the Anniversary update. I have logged a bug here: https://connect.microsoft.com/VisualStudio/feedback/details/3111237/access-violation-exception-in-blobtoattributeset-instruction-in-clr-dll

UPDATE: I was able to go spelunking with the debugger (by setting up the VS debugger to enable .NET Framework debugging and download all the necessary symbols) to hit a breakpoint in the code referenced in the exception stack trace that was calling mscorlib's System.Reflection.RuntimeAssembly.GetCustomAttributes() -- for us, it was Owin.Loader.DefaultLoader.SearchForStartupAttribute().

Ultimately, I was able to figure out exactly which assembly was getting handled and causing the exception to be thrown. For us, it was Sax.Barcodes.ASP.dll, an ancient assembly that is not actively maintained anymore. Luckily, we are going to be able to remove all references to this assembly from our web site code (which we probably should have done long ago).

I would recommend you attack this problem in the debugger, as well, and pinpoint exactly which assembly is causing mscorlib to balk. This will allow you to know exactly to whom to go complain (or which assembly you need to sunset).