When Web Agent is enabled, accessing dot net application crashes the application pool.
This issue occurred on specific customer's dotnet application and was not reproduced on support lab.
Broarcom SE analyze Information and Microsoft Tecdoc Information are following.
And on these information it is suspected to be the cause from "Enabled preload"
------Buroarcom SE analyze Information------
Engineering team did analyze the dump and they have narrowed it down to "GetServerVariable" call
filter.dll!W3_FILTER_CONTEXT::GetServerVariable(struct _HTTP_FILTER_CONTEXT *,char *,void *,unsigned long *) Unknown
> ISAPI6WebAgent.dll!DoPreprocHeaders(struct _HTTP_FILTER_CONTEXT *,struct _HTTP_FILTER_PREPROC_HEADERS *) C++
filter.dll!W3_FILTER_CONTEXT::NotifyFilters(unsigned long,void *,int *) Unknown
filter.dll!GlobalDoWork(unsigned long,class IHttpEventProvider *) Unknown
iiscore.dll!W3_CONTEXT_BASE::StartNotificationLoop(class NOTIFICATION_CONTEXT *,int) Unknown
iiscore.dll!APPLICATION_PRELOAD_PROVIDER::ExecuteRequest(class IHttpContext *,class IHttpUser *) Unknown
warmup.dll!DoApplicationPreload(class IGlobalApplicationPreloadProvider *) Unknown
w3wphost.dll!W3WP_HOST::ProcessPreloadApplications(unsigned long) Unknown
w3wphost.dll!WP_IPM::AcceptMessage(class IPM_MESSAGE const *) Unknown
iisutil.dll!IPM_MESSAGE_PIPE::MessagePipeCompletion(void *,unsigned char) Unknown
------Microsoft Tecdoc Information------
About the problem that occurs when getting the server variable in the HTTP Module when the Application Initialization function is enabled
(This document is written by Japanese, please translate this by Google)
When I visit a page hosted on IIS, the browser stops responding or I get a 503 Service Unavailable error.
In addition, the following log is repeatedly recorded in the event log on the IIS server.
This event occurs when all of the following conditions are met.
Enable Application Initialization, which is a standard feature of Windows Server 2012, from Role Services
"Enabled preload" is True in the advanced settings of the website or application
Install an ISAPI module in IIS that references the "UNENCODED_URL" server variable during the process
The virtual request made by ApplicationInitialization is set with the minimum information required to complete the initialization process. However, there is not enough information to get UNENCODED_URL, which leads to abnormal termination of the worker process.
DWORD WINAPI HttpExtensionProc (LPEXTENSION_CONTROL_BLOCK pecb)
pecb-> GetServerVariable (hConn, "PRELOAD_REQUEST", lpvBuffer, lpdwSizeofBuffer);
In an environment where rapid fail protection is enabled (default enabled), a 503 Service Unavailable error occurs as a result of repeated abnormal terminations in a short period of time and the application pool being disabled (normally, 503 Service Unavailable is displayed on the browser). .. Also, in an environment where rapid fail protection is disabled, worker processes will repeatedly crash on the IIS server until the browser disconnects.
IIS 10 (Windows Server 2016, Japanese OS)
dotnet application deployed on IIS
Web Agent R12.52 SP1 CR10
[Siteminder IIS 6.0 Filter initialized in ISAPI Extension mode.]
[Siteminder IIS 10.0 module initialized in IIS 10 Native module.]
As work around if you see similar issue in your environment, please try to configure "Enabled preload" as "FALSE" in IIS.
and verify your issue is away or not.