Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET Core 2, IIS AppPool crashes and stops

I've just updated a web app to ASP.NET Core 2.0 running on IIS 7.5 on Windows Server 2008 R2. Since upgrading the app randomly crashes and leaves it with a 503 Service Unavailable response. It can run for several hours before crashing.

Before crashing I get a couple of warnings in event viewer and then a error.

Example of warning:

A process serving application pool '<My app pool>' terminated unexpectedly. The process id was '14896'. The process exit code was '0x0'.

Another example of warning:

A process serving application pool '<My app pool>' suffered a fatal communication error with the Windows Process Activation Service. The process id was '18252'. The data field contains the error number.

Example of error:

Application pool '<My app pool>' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

I guess the crash/error comes from rapid failure feature in IIS, but I can't pinpoint the cause of the original warnings.

I have a few runtime errors like the ones below too, but I'm sure how related they are:

{
  "@t": "2017-11-20T15:24:24.3190000Z",
  "@m": "Request timed out.",
  "@i": "0307d0fb",
  "@l": "Error",
  "@x": "Microsoft.AspNetCore.Server.Kestrel.Core.BadHttpRequestException: Request timed out.\r\n   at Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.PipeCompletion.ThrowFailed()\r\n   at Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.GetResult(ReadResult& result)\r\n   at Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IReadableBufferAwaiter.GetResult()\r\n   at Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBufferAwaitable.GetResult()\r\n   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.<ConsumeAsync>d__24.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Frame`1.<ProcessRequestsAsync>d__2.MoveNext()",
  "SourceContext": "xxxx.Extensions.GlobalExceptionFilter",
  "ActionId": "97118189-7c25-427b-82c7-10b3d885a146",
  "ActionName": "xxxx.Controllers.FileController.Upload (xxxx)",
  "RequestId": "0HL9G4JA0VTIJ:00000073",
  "RequestPath": "/api/file"
}

Event viewer also reports errors like these for the app pool in question:

An unhandled win32 exception occurred in w3wp.exe [18244]. Just-In-Time debugging this exception failed with the following error: Debugger could not be started because no user is logged on.

Check the documentation index for 'Just-in-time debugging, errors' for more information.

And...

Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: aspnetcore.dll, version: 7.1.1982.0, time stamp: 0x594ab904
Exception code: 0xc0000005
Fault offset: 0x000000000000fe3b
Faulting process id: 0x1ef0
Faulting application start time: 0x01d3622d8eb0e8c0
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\system32\inetsrv\aspnetcore.dll
Report Id: ce37e890-ce20-11e7-9f93-00155dc82c03

I could really use some help trying to find the source of these crashes.

like image 680
Johan Nordberg Avatar asked Nov 20 '17 19:11

Johan Nordberg


1 Answers

Microsoft has updated the IIS module for ASP.NET Core now and that solves the problem.

like image 115
Johan Nordberg Avatar answered Nov 11 '22 22:11

Johan Nordberg