Skip to content

improve UnsupportedClassVersionError error message #603

@tam512

Description

@tam512

Test Liberty InstantOn 25.0.0.1 Java11 with sessionCache-1.0 on OCP and use RedHat Data Grid operator version 8.5.4. I got the following error when deploy the application image to OCP:

[1/31/25, 0:17:33:849 UTC] 00000037 io.openliberty.jcache.internal.CachingProviderService        E CWLJC0004E: The cacheManager[CacheManager]//io.openliberty.jcache.cachingprovider(cachingProvider)[default-0] caching provider failed to load. java.lang.UnsupportedClassVersionError: JVMCFRE199E bad major version 61.0 of class=org/infinispan/jcache/remote/JCachingProvider, the maximum supported major version is 55.0; offset=6
	at java.base/java.lang.ClassLoader.defineClassImpl(Native Method)
	at java.base/java.lang.ClassLoader.defineClassInternal(ClassLoader.java:467)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:428)
	at com.ibm.ws.classloading.internal.AppClassLoader.definePackageAndClass(AppClassLoader.java:435)
	at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:333)
	at com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:705)
	at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:584)
	at com.ibm.ws.classloading.internal.LibertyLoader.loadClassNoException(LibertyLoader.java:53)
	at com.ibm.ws.classloading.internal.UnifiedClassLoader.findClass(UnifiedClassLoader.java:151)
	at com.ibm.ws.classloading.internal.UnifiedClassLoader.loadClass0(UnifiedClassLoader.java:141)
	at com.ibm.ws.classloading.internal.UnifiedClassLoader$Delegation.loadClass(UnifiedClassLoader.java:87)
	at com.ibm.ws.classloading.internal.UnifiedClassLoader.loadClass(UnifiedClassLoader.java:106)
	at java.base/java.lang.ClassLoader.loadClassHelper(ClassLoader.java:1165)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1092)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1075)
	at java.base/java.lang.Class.forNameImpl(Native Method)
	at java.base/java.lang.Class.forName(Class.java:418)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1224)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1235)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1284)
	at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1319)
	at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1404)
	at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:448)
	at javax.cache.Caching$CachingProviderRegistry$1.run(Caching.java:442)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:690)
	at javax.cache.Caching$CachingProviderRegistry.getCachingProviders(Caching.java:442)
	at javax.cache.Caching$CachingProviderRegistry.getCachingProvider(Caching.java:529)
	at javax.cache.Caching.getCachingProvider(Caching.java:247)
	at io.openliberty.jcache.internal.CachingProviderService$1.call(CachingProviderService.java:92)
	at io.openliberty.checkpoint.spi.CheckpointPhase$2.restore(CheckpointPhase.java:385)
	at io.openliberty.checkpoint.spi.CheckpointPhase$StaticCheckpointHook.restore(CheckpointPhase.java:590)
	at io.openliberty.checkpoint.internal.CheckpointImpl.callHooks(CheckpointImpl.java:575)
	at io.openliberty.checkpoint.internal.CheckpointImpl.restore(CheckpointImpl.java:611)
	at io.openliberty.checkpoint.internal.CheckpointImpl.checkpoint(CheckpointImpl.java:413)
	at io.openliberty.checkpoint.internal.CheckpointImpl.checkpointOrExitOnFailure(CheckpointImpl.java:301)
	at io.openliberty.checkpoint.internal.CheckpointImpl.check(CheckpointImpl.java:295)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
	at com.ibm.ws.kernel.feature.internal.FeatureManager.checkServerReady(FeatureManager.java:868)
	at com.ibm.ws.kernel.feature.internal.FeatureManager.update(FeatureManager.java:829)
	at com.ibm.ws.kernel.feature.internal.FeatureManager.processFeatureChanges(FeatureManager.java:931)
	at com.ibm.ws.kernel.feature.internal.FeatureManager$1.run(FeatureManager.java:714)
	at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:298)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:839)

Per RH Data Grid 8.5 release notes, The minimum supported Java version for RHDG 8.5 is Java 17

Please improve the error message to help users to fix the problem

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions