We are having spring boot base application running on Liberty application server on Mainframe. So far application was running fine but since past few months we have seen below issue coming frequently once we re-start the application server again it starts working fine.

Thread:     J3162LGR.TASK148.RFRA
  Thread object: java/lang/Thread @ 0xc0fe7d40
  Native info:  !j9vmthread 0x5717c800 !stack 0x5717c800
  Thread.State: BLOCKED 
  JVMTI state:  ALIVE BLOCKED_ON_MONITOR_ENTER 
   waiting to enter: com/ibm/ws/classloading/internal/AppClassLoader@0xc1fccd50 owner name: "RUN_SERVICE_Thread-26" owner id: 0x2ab32000

Java stack frames: 
  method: Class java/lang/Class.forNameImpl(String, boolean, ClassLoader) (Native Method)
  method: Class java/lang/Class.forName(String, boolean, ClassLoader) source: Class.java:348
  method: Class org/springframework/util/ClassUtils.forName(String, ClassLoader) source: ClassUtils.java:275
  method: boolean org/springframework/util/ClassUtils.isPresent(String, ClassLoader) source: ClassUtils.java:345
  method: void org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport.<clinit>() source: WebMvcConfigurationSupport.java:197
  method: java.util.List org/springframework/boot/autoconfigure/http/HttpMessageConverters.getDefaultConverters() source: HttpMessageConverters.java:195

Thread      RUN_SERVICE_Thread-26
  Thread object: java/lang/Thread @ 0xc0fe7b58
  Native info:  !j9vmthread 0x57279600 !stack 0x57279600
  Thread.State: WAITING 
  JVMTI state:  ALIVE WAITING WAITING_INDEFINITELY IN_OBJECT_WAIT 
   waiting to be notified on: java/lang/J9VMInternals$ClassInitializationLock@0xf2863828 owner name: <unowned>

Java stack frames: 
   method: Class java/lang/Class.forNameImpl(String, boolean, ClassLoader) (Native Method)
   method: Class java/lang/Class.forName(String, boolean, ClassLoader) source: Class.java:348
   method: Class org/springframework/cglib/core/ReflectUtils.defineClass(String, byte[], ClassLoader, java.security.ProtectionDomain, Class) source: ReflectUtils.java:563
   method: Class org/springframework/cglib/core/AbstractClassGenerator.generate(org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData) source: AbstractClassGenerator.java:363

Please let me know if you have any suggestions. We are using spring boot version 2.1.5

Regards, Raghu Bhavanasi

Comment From: wilkinsona

Thanks for the report. Spring Boot 2.1.x is no longer supported as it reached end of life in November last year. You should upgrade to a supported version of Spring Boot (2.3.x or 2.4.x).

The threads that you've shown above are in J9 JVM code or in Liberty code so, unsupported Boot versions aside, I don't think there's anything that we could do to help you. Once you have upgraded to a supported version of Spring Boot, I would recommend raising the problem with IBM if it persists.