当我在.aspx页面中使用asp:ScriptManger标记在本地运行任何现有的ASP.NET应用程序时,我刚刚开始获得ExecutionEngineException(80131506)。
错误讯息是:
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.
此问题在我获得Windows 10周年更新后开始发生,所以我认为这些可能是相关的,但这只是猜测。
以下是我目前的调查结果:
.NET调用堆栈
[[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(布尔)+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)+129 System_Web_ni!System.Web.UI.Page.ProcessRequest(布尔值, 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, 布尔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]]
看起来在构建控件ScriptManager期间Ajax回调中发生了错误。
ASP.includes_donorsearch_ascx .__ BuildControlScriptManager1
我目前的猜测是,我的机器上的某些东西搞砸了,或者Windows 10周年纪念版引入了这个问题。
之前有谁见过这个问题?虽然错误总是发生在ScriptManger中,因为这个错误与GC有关,我想知道问题是否存在于其他地方并且只是出现在这里。
我知道这不是很多,但我认为其他人可能遇到同样的问题?
谢谢。 约瑟夫
答案 0 :(得分:6)
Microsoft报告此问题已在.NET Framework September 2017 Security and Quality Rollup
中解决<强>引用:强>
CLR程序集元数据读取器崩溃。 [367294]
答案 1 :(得分:1)
除了回滚到以前的Windows版本之外,您是否能够找到解决此问题的方法?我们看到完全相同的行为,我们已经在多台计算机上确认它在更新到周年纪念更新后出现。我在这里记录了一个错误:https://connect.microsoft.com/VisualStudio/feedback/details/3111237/access-violation-exception-in-blobtoattributeset-instruction-in-clr-dll
UPDATE:我能够使用调试器(通过设置VS调试器以启用.NET Framework调试并下载所有必需的符号)来查看在中引用的代码中的断点。正在调用mscorlib的System.Reflection.RuntimeAssembly.GetCustomAttributes()的异常堆栈跟踪 - 对我们来说,它是Owin.Loader.DefaultLoader.SearchForStartupAttribute()。
最终,我能够找出完全正在处理哪个程序集并导致抛出异常。对我们来说,它是Sax.Barcodes.ASP.dll,一个古代程序集,不再被主动维护。幸运的是,我们将能够从我们的网站代码中删除对此程序集的所有引用(我们很可能早就应该这样做了)。
我建议你在调试器中解决这个问题,并确切地确定哪个程序集导致mscorlib阻止。这样您就可以确切地知道要向谁投诉(或者您需要在日落时使用哪种装配)。
答案 2 :(得分:0)
因此,我将Windows 10周年更新推回到1511版,并且Web应用程序再次正常运行。