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.
Microsoft has updated the IIS module for ASP.NET Core now and that solves the problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With