question

GuillaumeDX-9127 avatar image
0 Votes"
GuillaumeDX-9127 asked ·

Strange asp.net website crash with IIS 8.5 and Windows Server 2012 RC

Hi.

I have a legacy website built with ASP.NET WebForms, running on a Windows 2012 RC Server and IIS 8.5.

The app is running on .NET 4.5 framework. Recently, the website has suddenly stopped working during few minutes, and i've had to recycle the application pool on IIS to get back to a normal situation. When analyzing the windows events, i found a lot of errors:

Nom de l’application défaillante csc.exe, version : 4.7.3062.0, horodatage : 0x5ab95f85
Nom du module défaillant : KERNELBASE.dll, version : 6.3.9600.19304, horodatage : 0x5c7f684f
Code d’exception : 0xc0000142
Décalage d’erreur : 0x00000000000ecf30
ID du processus défaillant : 0x5864
Heure de début de l’application défaillante : 0x01d72255e27911be
Chemin d’accès de l’application défaillante : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
Chemin d’accès du module défaillant: KERNELBASE.dll
ID de rapport : 203392fa-8e49-11eb-80c5-0cc47a91426f
Nom complet du package défaillant :
ID de l’application relative au package défaillant :

In the application logs i found this type of exception :

[26/03/2021 16:34:27] [NC1186] [c:\windows\system32\inetsrv\w3wp.exe] [Error] [General] [HandlingInstanceID: 4c54eaf3-2acd-43e3-8a54-7e23e2450838 An exception of type 'System.Web.HttpParseException' occurred and was caught. ----------------------------------------------------------------------------- 03/26/2021 16:34:27 Type : System.Web.HttpParseException, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Message : Un composant externe a levé une exception. Source : System.Web Help link : 810c912 FileName : Access failed VirtualPath : Line : 0 ParserErrors : System.Web.ParserErrorCollection WebEventCode : 0 ErrorCode : -2147467259 Data : System.Collections.ListDictionaryInternal TargetSite : Void ProcessException(System.Exception) HResult : -2147467259 Stack Trace : à System.Web.UI.TemplateParser.ProcessException(Exception ex) à System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding) à System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding) à System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) à System.Web.UI.TemplateParser.Parse() à System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() à System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) à System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() à System.Web.Compilation.BuildProvidersCompiler.PerformBuild() à System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) à System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) à System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) à System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) à System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) à System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) à System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() à System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) à System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) Additional Info: MachineName : XXXXXX TimeStamp : 26/03/2021 15:34:27 FullName : Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 AppDomainName : ThreadIdentity : WindowsIdentity : IIS APPPOOL\XXXXXXX Inner Exception --------------- Type : System.Web.HttpCompileException, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a Message : Un composant externe a levé une exception. Source : System.Web Help link : Results : System.CodeDom.Compiler.CompilerResults SourceCode : WebEventCode : 0 ErrorCode : -2147467259 Data : System.Collections.ListDictionaryInternal TargetSite : System.CodeDom.Compiler.CompilerResults Compile() HResult : -2147467259 Stack Trace : à System.Web.Compilation.AssemblyBuilder.Compile() à System.Web.Compilation.BuildProvidersCompiler.PerformBuild() à System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) à System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) à System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) à System.Web.Compilation.BuildManager.GetVPathBuildResult(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean ensureIsUpToDate) à System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath, Boolean allowNoCompile) à System.Web.UI.PageParser.ProcessMainDirectiveAttribute(String deviceName, String name, String value, IDictionary parseData) à System.Web.UI.TemplateParser.ProcessMainDirective(IDictionary mainDirective) ]

I really don't know why or how this errors occurred, and why i'll need to recycle application pool to stop them.
Cases i had check already:
- The code is ok
- The build was generated as usual, and all is fine without any changes since the incident.
- CPU and memory was alright at crash moment.
- No unclosed elements, format issue, or weird chars into aspx views
- web.config was unchanged since lot of time and seems ok (no bindingRedirect repeated etc)


The server was not restarted from few months, is it a possible cause ? Can anybody helps me with this probleme please ? I want to avoid another crash like this one in the future. By advance thanks for help.










windows-server-2012windows-server-iis-generaldotnet-aspnet-generalwindows-server-iis-configurationwindows-server-iis-performance
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

SamWu-MSFT avatar image
1 Vote"
SamWu-MSFT answered ·

Hi @GuillaumeDX-9127

There are several reasons which can cause this error in your computer. One of these is a corrupted or missing system file. You may run the System File Checker to identify and troubleshoot this error.

You can also follow the steps through Fix Windows Update errors by using the DISM or System Update Readiness tool to check for any update errors.

Note: Please perform the Clean boot on your PC.

Clean Boot temporarily disables all third party applications as well as all Microsoft non-essential services so only basic drivers will run. This will help us find any third-party software which can be the cause of this issue.

Here are the steps:

  1. From Start, search for msconfig

  2. Select System Configuration from the search results.

  3. On the Services tab of the System Configuration dialog box, tap or click to select the Hide all Microsoft services check box, and then tap or click Disable all.

  4. On the Startup tab of the System Configuration dialog box, tap or click Open Task Manager.

  5. On the Startup tab in Task Manager, for each startup item, select the item and then click Disable.

  6. Close Task Manager.

  7. On the Startup tab of the System Configuration dialog box, tap or click OK, and then restart the computer.


If the answer is helpful, please click "Accept Answer" and upvote it.

Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


· 1 ·
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Hi! Before cleaning or check for update errors, the team decided to only reboot the computer and install all lasts windows updates (many updates was missing). We will see. If the problem is already there, we will check the system cleaning and the running services. Thanks for your help.

0 Votes 0 ·
MotoX80 avatar image
0 Votes"
MotoX80 answered ·

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe is the C# compiler. Were your application developers making changes to the site while end users were actively using it? If this is a big site, it might take time to recompile.

You could try taking the app offline before the next site update.

https://activedirectoryfaq.com/2015/01/iis-maintenance-page-app_offline-htm/

· 1 ·
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Thanks for your answer. Nobody was making changes on the site during the incident. Otherwise, the maintenance page is a good idea!

0 Votes 0 ·