Troubleshooting
Problem
User1 launches the Controller client. This works OK. Several minutes later, User2 launches Controller client. User2 receives error message. * All new users (from now onwards) affected. No new users can logon to the Controller system. * However, existing (currently logged-on) users are unaffected. In other words, those already in Controller (for example User1) can carry on using the system as normal. I.T. administrator looks at the Application Log (on the Controller application server). There is an entry in there which is recorded at exactly the same time as the problem started.
Symptom
Screen error:
Invalid URI: The hostname could not be parsed
Application log (on the Controller application server):
WAS
A worker process with process id of 'xxxx' serving application pool 'ibmcognos' has requested a recycle because the worker process reached its allowed processing time limit
Cause
The Controller application server's IIS (web server) application pool has tried to recycle, but it has failed.
More Information:
IBM R&D have investigated the problem, and have concluded that the likely root cause (for why the IIS application pool has failed to recycle successfully) is linked to the fact that the only versions of Controller which (so far) have seen this error/problem are 10.2.1 (or earlier).
- Specifically, Controller 10.2.1 uses .NET (ASP.NET) version 2.0
- Controller 10.3.0 (and later) uses .NET (ASP.NET) 4.x
IBM R&D believe that the problem is triggered by a limitation of the old Microsoft .NET 2.0 architecture.
Diagnosing The Problem
To check the current application pool limit settings:
1. Logon to your Controller application server (as a Windows administrator)
2. Click "Start - Control Panel - Administrative Tools"
3. Launch "Internet Information Services (IIS) Manager"
4. In the "Connections" pane (on the left), expand the computer, then select the "Application Pools" folder (underneath the computer name).
TIP: The only relevant application pools are the ones which have 1 (or more) applications associated with them.
- For example, in the picture below these are '.NET v2.0' and 'DefaultAppPool':
5. In "Features View", select the relevant application pool.
TIP:
- By default, this will be called "DefaultAppPool"
- Some customers create a dedicated application pool (called whatever the want it to be, for example 'ibmcognos')
6. In the Actions pane, select 'Advanced Settings':
7. Inside the 'Recycling' section, expand 'Generate Recycle Event Log Entry'
By default, this is set to:
To give yourself more diagnostic information (to understand what is going wrong) you can change those all of those settings to TRUE:
8. Repeat step 7 for *all* of the Application Pools which have 1 (or more) applications associated with them.
Resolving The Problem
Fix:
Upgrade to the latest version of Controller, which uses a later version of Microsoft .NET.
- For example, Controller 10.3.1 uses .NET 4.0/4.5 (not 2.0).
Workarounds:
There are several workarounds:
- Method #1 (instant fix)
- Steps:
1. Open IIS 'Application Pools' section
2. Right-click on the relevant application pool (any that has 1 or more application associated with it)
3. Click 'Recycle':
5. Test.
- Method #2 (long-term workaround)
- Steps:
1. Open IIS 'Application Pools' section
2. Right-click on the relevant application pool (any that has 1 or more application associated with it)
3. Click 'Recycling':
4. The default setting is to recycle every 29 hours (which means it changes each day):
The solution is to change this to "Specific time(s)" as follows:
The above example changes it to only recycle at 3am.
5. Repeat steps 2-4 for all application pools (that have 1 or more applications associated with them).
Was this topic helpful?
Document Information
Modified date:
15 June 2018
UID
swg21969315