Problem: After the Indeed CM Server or Enterprise Management Console is installed and configuration files are set up, Internet Explorer gives HTTP 503 - Service unavailable when trying to log in to any web service of the system:
Operating system used: Windows Server 2008 SP2 x64 or Windows Server 2008 R2 SP1.
IndeedCM (IndeedEMC) application pool is stopped:
Starting the IndeedCM (IndeedEMC) application pool does not solve the problem - attempt to log in to any web service again results in HTTP 503 Service unavailable error, and the IndeedCM(IndeedEMC) application pool is forced to stop.
The System log records the following error event: “Application pool 'IndeedCM' is being automatically disabled due to a series of failures in the process(es) serving that application pool."
The Application log contains a number of events with the following text: “The Module DLL '<path to dll file>' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture. The data field contains the error number."
Cause 1: It is well-known Microsoft problem. The problem itself is that x64 versions of Microsoft component DLLs (say, MS Exchange or RPC via HTTP Proxy) are attempted to load to x86 processes in application pool. The problem can be solved in two ways:
Solution 1: Disable "Enable 32-bit Applications” parameter in IndeedCM (IndeedEMC) application pool settings. To access the settings, select Advanced Settings item in the IndeedCM (IndeedEMC) application pool menu.
Solution 2: Explicitly set bitness for the DLL in question and make it loadable for x64 applications only. To do so, edit the applicationHost.config configuration file. As a rule, it can be found in С:\Windows\System32\inetsrv\config folder.
Open the applicationHost.config file and define preCondition="bitness64" parameter in the configuration line for the required DLL. Use the path to the dll file to search for the necessary fragment.
The line format is: <add name="<имя модуля>" image="<path to dll file>" preCondition="bitness64" />
If the problem appears for several DLLs (that is, after preCondition="bitness64" parameter is defined for one of DLLs, the HTTP Error 503 Service unavailable still appears, and event log records error messages for another DLL), then it is necessary to define the said parameter for all the DLLs affected.
Cause 2: The account used for IndeedCM application pool is not valid (password is incorrect or has expired).
Solution: If default ApplicationPoolIdentity account is used, then check if standard IIS application pool (DefaultAppPool) is working correctly with this account. If not, then the problem is conditioned by IIS operation or configuration errors. To restore Indeed CM operability promptly, you can specify another built-in account to use with IndeedCM pool (say, NetworkService). If you prefer using special (Custom account), then make sure that it is valid (i.e. not blocked, the password is correct and its validity period has not expired yet) or create another one according to Microsoft recommendations.
|