The Tomcat process for Spectrum OneClick crashes.

Document ID : KB000049900
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

There are configuration parameter changes needed to ensure the Spectrum Tomcat process runs properly. If those configuration parameters are not present, the Tomcat process can crash.

Solution:

There are two main reasons that the Spectrum Tomcat process will crash and no longer run.

The first reason is due to memory allocation being set higher than 1280 MB for Tomcat on Windows (verify in the OneClickService.conf file in the <SPECROOT>/tomcat/conf directory that memory is at 1280MB or less). The entry for the memory configuration is:

  jvm_opt=-Xmx1024M  

The second reason is that the following configuration parameters are not in the OneClickService.conf file (on Windows) or the Catalina.sh file (on Unix). If these parameters are not there, please add them and cycle the Tomcat process:

For Windows:

  • Stop OneClickService/Tomcat
  • edit: $SPECROOT/tomcat/bin/OneClickService.conf
  • Add the following params (above HeapDumpOnOutOfMemoryError param is fine):
    jvm_opt=-XX:PermSize=128M
    jvm_opt=-XX:MaxPermSize=128M
    jvm_opt=-Djava.compiler=NONE
  • Start Tomcat, ensure no exceptions at start up due to incorrect jvm_opt's

For Solaris/Linux:

  • Stop Tomcat.

  • Edit $SPECROOT/tomcat/bin/catalina.sh

  • Search for a script variable that starts like:
    JAVA_OPTS=-DOneClick
  • After -DOneClick insert the following:
    -Djava.compiler=NONE -XX:PermSize=128M -XX:MaxPermSize=128M
  • Ensure there is a space after DOneClick and the start of the inserting line.

  • Also ensure there is a space after 128M (end of the inserting line)

  • Start tomcat, ensure no exceptions show in the tomcat log file due to incorrect JAVA_OPTS (<SPECROOT>/tomcat/logs/stdout.log on Windows and <SPECROOT>/tomcat/logs/catalina.out on Unix)

Note: Customers that previously configured their web server memory will have a custom file:

$SPECROOT/custom/common/config/tomcat-server-config.xml

However, the custom file is built from this seed file:
../spectrum/WEB-INF/common/config/tomcat-server-config.xml. Customers that configured their memory prior to the settings below being released in 9.2.1 will not have these settings:

     <param>-XX:PermSize=128M</param>   
     <param>-XX:MaxPermSize=128M</param>   
     <param>-Djava.compiler=NONE</param>  NOTE: without this setting OneClickService.exe will crash with file hs_err_pid*.log  

Customers should manually add these settings to their custom file, then use the web server memory configuration page to save and reconfigure . This will generated a new OneClickService.conf based on the updated custom tomcat-server-config.xml.

If you are experiencing Tomcat crashes and they are not due to the above issues, please open a ticket with Spectrum Support.