docker-javaee icon indicating copy to clipboard operation
docker-javaee copied to clipboard

OpenJDK 9 JRE Slim base image throws NoClassDefFoundError

Open arun-gupta opened this issue 8 years ago • 2 comments

Using openjdk:9-b181-jre-slim throws the following exception. 8-jre-slim works fine.

webapp_web.1.lgprfpvebods@moby    | WARNING: An illegal reflective access operation has occurred
webapp_web.1.lgprfpvebods@moby    | WARNING: Illegal reflective access by org.jboss.modules.ClassLoaderLocalLoader$1 (file:/opt/docker-javaee-swarm.jar) to method java.lang.ClassLoader.getPackage(java.lang.String)
webapp_web.1.lgprfpvebods@moby    | WARNING: Please consider reporting this to the maintainers of org.jboss.modules.ClassLoaderLocalLoader$1
webapp_web.1.lgprfpvebods@moby    | WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
webapp_web.1.lgprfpvebods@moby    | WARNING: All illegal access operations will be denied in a future release
webapp_web.1.lgprfpvebods@moby    | Exception in thread "main" java.lang.reflect.InvocationTargetException
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.bootstrap.Main.invoke(Main.java:84)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.bootstrap.Main.run(Main.java:48)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.bootstrap.Main.main(Main.java:43)
webapp_web.1.lgprfpvebods@moby    | Caused by: java.lang.NoClassDefFoundError: jdk/internal/reflect/ConstructorAccessorImpl
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.misc.Unsafe.defineClass0(Native Method)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.misc.Unsafe.defineClass(Unsafe.java:1173)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.ClassDefiner.defineClass(ClassDefiner.java:63)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:400)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:394)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/java.security.AccessController.doPrivileged(Native Method)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:393)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.MethodAccessorGenerator.generateConstructor(MethodAccessorGenerator.java:92)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:55)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
webapp_web.1.lgprfpvebods@moby    | 	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.shrinkwrap.api.SecurityActions.newInstance(SecurityActions.java:132)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.shrinkwrap.api.ArchivePaths.createInstance(ArchivePaths.java:125)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.shrinkwrap.api.ArchivePaths.create(ArchivePaths.java:63)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.shrinkwrap.impl.base.importer.zip.ZipImporterImpl.importFrom(ZipImporterImpl.java:125)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.shrinkwrap.impl.base.importer.zip.ZipImporterImpl.importFrom(ZipImporterImpl.java:103)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.shrinkwrap.impl.base.importer.zip.ZipImporterImpl.importFrom(ZipImporterImpl.java:49)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.spi.api.DefaultDeploymentFactory.setupUsingAppArtifact(DefaultDeploymentFactory.java:120)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.spi.api.DefaultDeploymentFactory.setup(DefaultDeploymentFactory.java:50)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.jaxrs.internal.DefaultJAXRSWarDeploymentFactory.create(DefaultJAXRSWarDeploymentFactory.java:41)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.container.Container.createDefaultDeployment(Container.java:491)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.container.Container.getDefaultDeployment(Container.java:503)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.container.Container.getDefaultDeploymentURL(Container.java:516)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.container.Container.getDefaultDeploymentClassLoader(Container.java:531)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.container.Container.setupXmlConfig(Container.java:364)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.container.Container.start(Container.java:330)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.Swarm.start(Swarm.java:97)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.Swarm.start(Swarm.java:45)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.container.Container.start(Container.java:324)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.Swarm.start(Swarm.java:107)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.Swarm.start(Swarm.java:45)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.Swarm.simpleMain(Swarm.java:149)
webapp_web.1.lgprfpvebods@moby    | 	at org.wildfly.swarm.Swarm.main(Swarm.java:141)
webapp_web.1.lgprfpvebods@moby    | 	... 7 more
webapp_web.1.lgprfpvebods@moby    | Caused by: java.lang.ClassNotFoundException: jdk.internal.reflect.ConstructorAccessorImpl from [Module "org.jboss.shrinkwrap:impl" from BootModuleLoader@4f2b503c for finders [BootstrapClasspathModuleFinder, BootstrapModuleFinder(org.wildfly.swarm.bootstrap:main), ClasspathModuleFinder, ApplicationModuleFinder(swarm.application:main), FlattishApplicationModuleFinder(swarm.application:flattish)]]
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
webapp_web.1.lgprfpvebods@moby    | 	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
webapp_web.1.lgprfpvebods@moby    | 	... 40 more

arun-gupta avatar Oct 06 '17 20:10 arun-gupta

Needs https://issues.jboss.org/browse/SWARM-1594 to be fixed

arun-gupta avatar Oct 15 '17 15:10 arun-gupta

Can you create a branch with the error? Tried to change to 9-b181-jre-slim and that seemed to work? I guess you are compiling with java 9, and it seems it needs some changes to make that to work? Or maybe Im missing something when reproducing?

johnAls avatar Apr 04 '18 20:04 johnAls