Installation Troubleshooting

This section includes information to help troubleshoot the issues that may occur during the installation process.

Table of Contents

Error in determining if database is already installed. See log for details

When setting up the database, if you select a database type that requires a driver, such as MySQL, but the appropriate driver is not provided, you may encounter the following error:

Error in determining if database is already installed. See log for details

To resolve this error, follow the instructions in Database drivers for the specific database type and version you are using.

To review the logs, as indicated in the error message, go to the instances\{instancename}\log folder. The log file is named {instancename}.log. For example: pmcm1.log.

Cannot launch Repository Client app after installing on macOS

If you installed the Repository Client on macOS and did not change the permissions for the Repository Client app file, as explained in the To install the Repository Client file on macOS, you might be unable to launch the Repository Client app.

To resolve this issue, follow these steps.

  1. Open terminal and go to the install directory for the Repository Client. If you used the default path, go to:
    /Applications/Repository Client
  2. Under the Contents/Eclipse folder, open the eclipse.ini file to edit:
    vi /Applications/Repository Client/Repository Client.app/Contents/Eclipse
  3. In the file, after line #11, provide your JAVA_HOME/bin/java path with the -vm argument in the first line and the location in the second line. For example:
    -vm
    /Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home/bin/java

    Note: Be sure to add these two lines before the line containing -vmargs.

  4. Save and close the file.

After completing these steps, you must be able to launch the Repository Client using the .app file.

Getting heap dump from a container

Analyzing a container's heap dump can provide valuable insights into how memory is being used and consumed at the time the dump is generated.

Before you begin:

  1. Download the Java JDK on a remote server. You can download the JDK from Openlogic’s OpenJDK Downloads page.
  2. Copy the installation files on the server hosting the container.

To capture the dump:

  1. Identify the process ID (PID) for a container's process. For example, on Windows, use the Task Manager to locate the specific container process and note its PID.
  2. To generate a heap dump file, use the Jmap tool included in the Java Development Kit (JDK) and run the following command:
    ./jmap -J-d64 -dump:format=b,file=<path to dump file> <jvm pid>

Where,

  • <path to dump file> is the desired location and name of the dump file.
  • <jvm pid> is the process ID of the Java Virtual Machine (JVM) you want to capture.

When running a Windows service with the system account, the user account lacks the necessary permissions to generate a dump file. To resolve this, you can download the PsTools suite and use the psexec.exe utility, which allows to run commands with elevated privileges.

Use the following command:

psexec64.exe -s jmap -J-d64 -dump:format=b,file=<path to dump file> <jvm pid>

To automatically generate heap dumps when the environment encounters an out-of-memory error, set the following Java Virtual Machine (JVM) options in the JAVA_OPTS environment variable.

JAVA_OPTS= "-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/heapdump"

The JAVA_OPTS environment variable is set in the /<installName>/bin/startup.sh file. Open this file and add the above JVM options after the JAVA_OPTS assignment. Save the changes to the startup.sh file. This allows automatic heap dumps to be generated when the application runs out of memory.