User tries to use a Java-related function (for example 'Maintain - Jobs - Define'). An error appears.
The exact error message will vary depending on what task the end user is running. However, it will contain the following text:
Could not attach to JVM
There are several possible causes for this error:
- Scenario #1 - Limitation of Controller 10.1.1691 (or earlier), triggered when the CCR_INTEGRATION_SERVER_DEPLOY_HOME system variable not set or is pointing to the incorrect location.
- For full details, see separate IBM Technote #1611097.
- Scenario #2 - The Java class path is not set up correctly on the server side. This causes the service "IBM Cognos Controller Java Proxy" to not be able to find a suitable Java Virtual Machine.
More Information on Scenario #2
There are several triggers for this, for example:
(a) Controller 10.1.1 (or older) - The required Windows system variable "CCR_JAVA_HOME" does not exist.
- See separate IBM Technote #1414684 for full details.
(b) Controller 10.2 and later - the system variables exist and are pointing to the wrong location
Controller 10.2. onwards does not need any System Variables to exist. However, if any (for example 'CCR_JAVA_HOME' or 'JAVA_HOME') do exist, then they must be configured to point to the correct location (for example a compatible 64-bit JAVA JRE).
- Scenario #3 - Customer has a physically separate (dedicated) consolidation-only server, and the functionality ONLY fails when running consolidations.
- This is caused by the JAVA environment not being correctly configured on the consolidation server.
- See separate IBM Technote #1571738.
- Scenario #4 - (rare) Controller database has been copied/moved to new server environment (e.g. new SQL server) and the database tables are being incorrectly accessed by the wrong SQL user.
- Scenario #5 - The value of 'CCRProxy.options' has been configured with invalid values.
- For example, the maximum memory may be too large for the capability of the JAVA subsystem.
Resolving the problem
If using Controller 10.1.1691 or earlier, check existing/create-new "CCR_INTEGRATION_SERVER_DEPLOY_HOME" system variable.
- See separate IBM Technote #1611097.
If using some older versions of Controller, ensure that the IBM Java 1.6 is installed on your system. Afterwards, set the system variable "CCR_JAVA_HOME" appropriately, on the application server.
- See separate IBM Technote #1414684.
If using a modern version of Controller (e.g. 10.2 or later) ensure that you do *not* have any JAVA-related system variables enabled.
- For example, ensure that there is no system variable "CCR_JAVA_HOME" or "JAVA_HOME" configured on the application server.
- IMPORTANT: In some environments, the system variables cannot be fully seen from the Windows GUI. Instead, the only way to see *all* system variables is to run a Command Prompts and run the command: SET
- See separate IBM Technote #1678643.
Reconfigure the consolidation server's JAVA environment.
- See separate IBM Technote #1571738
Scenario #4 (rare)
Ensure that you are connecting to the SQL database using the correct SQL user (e.g. "fastnet" or "sa" as appropriate).
- If using a non-sa account (e.g. "fastnet") ensure that you have removed orphaned users by running a script similar to the following:
Check that the values of 'CCRProxy.options' (if configured) is not using invalid settings.
- See separate IBM Technote #1693253
1611097 - Could not attach to JVM
1414684 - Error 'Could not attach to JVM' when launchin
1571738 - "Could not attach to JVM" and "Execution of A
1678643 - "Could not attach to JVM" when using Controll
1693253 - "Could not attach to JVM" error caused by inv