Solutions

VM 8.6.3: After installing the VM 8.6.3.2 patch on Windows, certool fails with java.lang.NoClassDefFoundError



ID:    S143620
Published:    29 March 2022
Updated:    29 March 2022

Operating System(s)

  • All Windows

Product(s)

  • PVCS Version Manager
 

Description

If the VM 8.6.3.2 patch was installed on top of the VM 8.6.3.1 patch, the installer will not detect that some of the log4j files need to be replaced.
 
As a result, certtool can fail with the error:

 

C:\>certtool
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/spi/ExtendedLoggerWrapper
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        at pvcs.vm.sso.certificate.manager.cmd.Client.<clinit>(Client.java:20)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.spi.ExtendedLoggerWrapper
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
        ... 13 more

C:\>

Resolution

To solve this problem do the following:
  1. Go to the directory %PVCS_HOME%\..\patch_backout
  2. Run uninstall_latest.bat
  3. Confirm you want to uinstall vm8632
  4. Run uninstall_latest.bat one more time
  5. Confirm you want to uninstall vm8631_CVE-2021-44228
  6. Locate the VM 8.6.3.2 patch installer and reinstall that patch
 

Rate this Solution

Find Answers

Type a question or describe what you are looking for below

My Recent Searches

Welcome kb sso

Additional Assistance

  • Submit a Case Online
  • FAQs