"500 internal server error" logging into a Linked Mode vSphere Client
search cancel

"500 internal server error" logging into a Linked Mode vSphere Client

book

Article ID: 336290

calendar_today

Updated On:

Products

VMware vCenter Server VMware vCenter Server 8.0

Issue/Introduction

Symptoms:

  • Login page for vCenter Server 7.0.x or vCenter Server 8.0.x with the vSphere Client fails with the error:
500 internal server error
  • In the tomcat log file, you see:
Exception from /var/log/vmware/sso/tomcat/localhost.2020-04-08.log file:
2020-04-08T08:20:39.544Z SEVE org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].[appServlet] Servlet.service() for servlet [appServlet] in context with path [] threw exception [java.lang.ClassFormatError: Truncated class file] with root cause
java.lang.ClassFormatError: Truncated class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

Environment

VMware vCenter Server 7.0.x
VMware vCenter Server 8.0.x

Cause

The issue is caused by tomcat's handling of the Catalina/localhost folder(s).

Resolution

Currently, there is no resolution to this issue.

WARNING:  Before making changes to any VCSA, it's recommended to take offline snapshots of the VCSA and any others in ELM.

See the more information section for further information on creating the offline snapshots before making any changes to a VCSA.

Workaround for VMware vCenter Server 7.0.x :

  1. Connect to the vCenter Server with an SSH session and root credentials.
  2. Stop the Secure Token Service with this command: 

    # service-control --stop vmware-stsd 

  3. Remove the ROOT folder from the following locations:

    # rm -rf /usr/lib/vmware-sso/vmware-sts/work/Catalina/localhost/ROOT

    Note: This folder is created automatically during startup of the VCSA.

  4. Start the Secure Token Service server with this command: 

    # service-control --start vmware-stsd 


Workaround for VMware vCenter Server 8.0.x :

  1. Connect to the vCenter Server with an SSH session and root credentials.
  2. Stop the Secure Token Service with this command: 

    # service-control --stop vmware-stsd 

  3. Remove the ROOT folder from the following locations:

    # rm -rf /var/lib/sso/webapps/ROOT/
    # rm -rf /var/lib/sso/workDir/ROOT/

    Note: These folders are created automatically during startup of the VCSA.

  4. Start the Secure Token Service server with this command:

    # service-control --start vmware-stsd 

Additional Information

For more information on creating offline snapshots of a VCSA or VCSA in linked mode, see VMware vCenter in Enhanced Linked Mode pre-changes snapshot (online or offline) best practice.