IBM Support

Batch/FAP problems caused by running 'Ldr64.exe setwow' on the Controller application server

Troubleshooting


Problem

Customer cannot get some functions (e.g. Batch services and FAP) running correctly. For example, all jobs in the batch queue remain at 'Not Started', and never change to 'Running'.

Symptom

If a user creates a batch job (for example runs a consolidation), then the job remains 'Not Started' in the batch queue:

In addition, the customer will find that the FAP subsystem will not work correctly.

Cause

Customer has implemented the command "Ldr64.exe setwow" on the Controller application server.

  • For more details, see separate IBM Technote #1398266.

This has caused some of the 64-bit components (running on the Controller application server) to (incorrectly) run as 32-bit.
  • For more details, see separate IBM Technote #1673225.

Controller 10.2 server mostly runs as a 64-bit system. [This is different from Controller 10.1.1 and earlier, which was 32-bit].
  • Therefore, unexpected errors/issues will occur if any of these 64-bit subsystems run as 32-bit.

More Information:
The only reason that some customers have (in the past) used the "Ldr64.exe setwow" command was to allow the Controller 'web client' (http://server/ibmcognos/controllerbin/ccr.exe) to run on a 64-bit operating system.
  • This explains why it was probably changed on the application server, because someone wanted to run the web client directly on the application server in the past.

However:
1. There should be little reason to want to run the Controller client on the Controller application server itself (apart from for brief testing purposes)
2. IBM Support recommends that (for almost all customers/situations) it is better to use the 'local' Controller client (CCRLocalClient.MSI) instead of the web client.
  • This is certainly true when running the client on the Controller application server.

Environment

Controller 10.2.0 or later.

  • The problem will likely be triggered by upgrading an existing Controller 10.1.1 (or earlier) application server.

Diagnosing The Problem

On a 'bad' Controller application server (where "Ldr64.exe setwow" has been run), inside Task Manager several components (e.g. "CCRBatch.exe" and "FAPNTService.exe") are (incorrectly) running as 32-bit processes (see the *32 by their names):

Compare this with a 'good' application server, where the relevant Controller-related components are (correctly) running as 64-bit (there is no mention of '*32' in their 'Image Name'):



Also, inside Event Viewer (Application Log) when the batch service is restarted, there will be an event similar to the following:

CCRBatch
Starting in 32 bit mode

Resolving The Problem

Modify the Controller application server so that it allows 64-bit .NET code to be run.

Steps:

1. Logon to the Controller application server as a Windows administrator

2. Click "Start - All Programs - Accessories"

3. Right-click on "Command Prompt" and choose "Run as administrator":


4. If prompted, click "yes" to confirm:



5. Type the following (to change the directory)

cd C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\

5. Type the following:

Ldr64.exe set64

This will enable the "COMPLUS_ENABLE_64BIT" flag and allow *all* 64-bit.NET code to run as 64-bit (as intended).

[{"Product":{"code":"SS9S6B","label":"IBM Cognos Controller"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Controller","Platform":[{"code":"PF033","label":"Windows"}],"Version":"10.2.1;10.2.0","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
15 June 2018

UID

swg21668455