You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Cees Bos (JIRA)" <ji...@apache.org> on 2018/11/07 10:37:00 UTC

[jira] [Commented] (TOMEE-2200) defineClass used which is not supported by java 11

    [ https://issues.apache.org/jira/browse/TOMEE-2200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16678009#comment-16678009 ] 

Cees Bos commented on TOMEE-2200:
---------------------------------

[~romain.manni-bucau]

I just updated the affects version of this ticket to 8.0.0-M1 as well.
8.0.0-M1 uses openwebbeans 2.0.7. That still has some issues with Unsafe.defineClass and also there is a Java.version check in the code base which has a fallback to Java 7 if used with Java 10 or Java 11.

These things are fixed in Trunk for Openwebbeans, but there is no new release yet.
That new release should be part of the new TomEE 8 final release otherwise I doubt the correct working with Java 11 for TomEE 8.

> defineClass used which is not supported by java 11
> --------------------------------------------------
>
>                 Key: TOMEE-2200
>                 URL: https://issues.apache.org/jira/browse/TOMEE-2200
>             Project: TomEE
>          Issue Type: Bug
>          Components: TomEE Core Server
>    Affects Versions: 8.0.0-M1, 7.0.5
>         Environment: ./catalina.sh version
> Using CATALINA_BASE:   /opt/tomee705
> Using CATALINA_HOME:   /opt/tomee705
> Using CATALINA_TMPDIR: /opt/tomee705/temp
> Using JRE_HOME:        /opt/jdk-11
> Using CLASSPATH:       /opt/tomee705/bin/bootstrap.jar:/opt/tomee705/bin/tomcat-juli.jar
> NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
> Server version: Apache Tomcat/8.5.32
> Server built:   Jun 20 2018 19:50:35 UTC
> Server number:  8.5.32.0
> OS Name:        Linux
> OS Version:     3.10.0-229.el7.x86_64
> Architecture:   amd64
> JVM Version:    11-ea+21
> JVM Vendor:     Oracle Corporation
>            Reporter: Donald Kwakkel
>            Assignee: Jonathan Gallimore
>            Priority: Critical
>
> Not sure if tomee will support java 11, but with latest java 11 version it is not possible to start tomee:
> {code:java}
> SEVERE: ContainerBase.addChild: start:
> org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/home]]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
> at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
> at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:629)
> at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1839)
> at Criticaljava.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> 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:834)
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.openejb.util.proxy.LocalBeanProxyFactory$Unsafe
> at org.apache.openejb.util.proxy.LocalBeanProxyFactory.createProxy(LocalBeanProxyFactory.java:137)
> at org.apache.openejb.util.proxy.LocalBeanProxyFactory.createProxy(LocalBeanProxyFactory.java:147)
> at org.apache.tomee.catalina.TomcatWebAppBuilder.eagerInitOfLocalBeanProxies(TomcatWebAppBuilder.java:1563)
> at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1309)
> at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1125)
> at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
> at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
> at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> ... 10 more
> {code}
> Reason is that defineClass is used which is no longer supported with java 11 (at least here, maybe also on other places):
> container/openejb-core/src/main/java/org/apache/openejb/util/proxy/LocalBeanProxyFactory.java:
> return Unsafe.defineClass(cl, classToProxy, proxyName, proxyBytes);
> Same issue has openwebbeans: https://issues.apache.org/jira/browse/OWB-1248
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)