Select the product you need help with
INFO: IIS: Users See Error Message: The Remote Procedure Call Failed and Did Not ExecuteArticle ID: 284716 - View products that this article applies to. This article was previously published under Q284716 SUMMARY
This article describes when IIS displays the following error message in a browser:
The Remote Procedure Call Failed and Did Not Execute.
MORE INFORMATION
This error is displayed in the Web browser when a request is made by a user to an "out-of-process" Web application that has terminated or has been killed. This is a temporary message that is displayed until IIS has restarted the failed Web application. IIS, by default, automatically restarts all failed out-of-process Web applications, and this behavior is governed by a metabase value, "AppOopRecoverLimit".
In IIS 4.0, a faulty in-process Web application can cause the entire Inetinfo.exe service to fail, which renders all Web sites unavailable. To help alleviate this situation, IIS 4.0 introduced the concept of out-of-process Web applications. When a Web application is designated as out-of-process, the application runs in a separate process (MTX.exe) that is isolated from the main IIS service (Inetinfo.exe) so that if the faulty Web application crashes, the main IIS service is unaffected and all other in-process and out-of-process Web sites remain available. In IIS 4.0, the AppOopRecoverLimit is not present in the metabase by default, but the value internally defaults to "5" for all out-of-process Web applications. This means that you can kill/crash an out-of-process Web site up to five times and IIS will restart the Web application for you automatically. In IIS 4.0, this setting only applies to out-of-process Web applications that run in MTX.exe. In IIS 5.0, the process isolation model was changed to encompass the new medium isolation "pooled out-of-process" Web applications in addition to high-isolation out-of-process Web applications. In IIS 5.0, the AppOopRecoverLimit limit is not present in the metabase by default, but the value internally defaults to "-1", which means IIS will restart all medium-isolation and high-isolation Web applications indefinitely. If the AppOopRecoverLimit is set in the metabase on a medium-isolation (pooled) Web application, it will be ignored and the pooled out-of-process Web application will restart indefinitely by default. In IIS 5.0, this setting can only be used on high-isolation Web applications that are running in DLLHost.exe. Additionally, if the Web site is in low isolation (in-process), then the application restart capability is governed by the properties for the IIS Admin service, which are listed in the Service Control Manager (which is configured through the "Services" Microsoft Management Console [MMC] snap-in, located in the Administrative tools group) and not by the AppOopRecoverLimit metabase entry. In IIS 5.0, by default, if the Inetinfo.exe service crashes, the IISReset.exe command will be issued to restart IIS indefinitely. Each time IIS 4.0 or 5.0 has to restart a failed out-of-process Web application, an error message similar to the following is logged in the event log:
Event ID: 37 Source: W3SVC Description: "Out of process application /LM/w3svc/root/iishelp terminated unexpectedly."
The Remote Procedure Call Failed and Did Not Execute.
In IIS 4.0, after the out-of-process Web site has failed five times, on the sixth attempt to restart that Web site, IIS will not restart the site, and it will instead return the following error message to the browser:
The Remote Procedure Call Failed and Did Not Execute.
Server Application Error The server has reached the maximum recovery limit for the application during the processing of your request. Please contact the server administrator for assistance. In addition, in the IIS logs if you are using W3C Extended Logging, you may see an entry like the following for each GET request that is sent to the server once AppOOPRecoverLimit has been reached: #Software: Microsoft Internet Information Server 4.0 #Version: 1.0 #Date: 2000-11-29 18:24:46 #Fields: time c-ip s-sitename s-ip cs-method cs-uri-stem sc-status sc-win32-status s-port 18:39:26 127.0.0.1 W3SVC1 127.0.0.1 GET /iishelp/iis/misc/default.asp 502 1727 80 18:39:39 127.0.0.1 W3SVC1 127.0.0.1 GET /iishelp/iis/misc/default.asp 502 1726 80 18:46:52 127.0.0.1 W3SVC1 127.0.0.1 GET /iishelp/iis/misc/default.asp 502 1726 80 18:46:52 127.0.0.1 W3SVC1 127.0.0.1 GET /iishelp/iis/misc/default.asp 502 1726 80 Also note that the time recorded in the IIS logs is in Greenwich mean time. So, for example, if you are in the (U.S.) eastern time zone, you would have to subtract 5 hours from the time that is logged in the first column to determine the local time at which the request was received (eastern time is Greenwich mean time - 5). REFERENCESFor additional information about some sample codes, click the article number below
to view the article in the Microsoft Knowledge Base:
280812 For additional information about setting the AppOopRecoveryLimit, click the article number below
to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/280812/EN-US/
)
DOC: AppOopRecoverLimit Range Wrong in IISHelp
280812
(http://support.microsoft.com/kb/280812/EN-US/
)
DOC: AppOopRecoverLimit Range Wrong in IISHelp
PropertiesArticle ID: 284716 - Last Review: November 21, 2006 - Revision: 2.1
| Article Translations |


Back to the top








