Re: TomEE does not launch on Java 24
Wolfgang Knauf <[email protected]> Sun, 13 Jul 2025 10:30:39 +0200
| Newsgroups | gmane.comp.java.openejb.user |
|---|---|
| Message-ID | <[email protected]> |
I reopened https://issues.apache.org/jira/browse/TOMEE-4474 and attached= =20 a reproducer. I am not sure whether it is really related to Java 24, but my sample=20 works with Java 17 and fails with 24. If my conclusion is not correct, I= =20 can create a new one. Gr=C3=BC=C3=9Fe Wolfgang Am 12.07.25 um 20:31 schrieb Richard Zowalla: > If that still doesn't work, maybe you could put up a simple reproducer p= roject, which mimics your case and we can have a look. >=20 > Gru=C3=9F > Richard >=20 > On 2025/07/12 18:23:08 Richard Zowalla wrote: >> I see. You can check out TomEE main, run a mvn clean install with skipp= ed test. It only needs a JDK 17. >> >> That should install everything you need locally, so you can just use it= as usual. >> >> Regarding browser download: yeah, might be an ASF INFRA restriction :-) >> >> Gru=C3=9F >> Richard >> >> Am 12. Juli 2025 19:15:27 MESZ schrieb Wolfgang Knauf <wolfgang.knauf@g= mx.de.INVALID>: >>> Well, this did not work for me (the project where I want to test the n= ew version uses ShrinkWrap resolver to download the container and I did no= t manage to make it use the snapshot repository), but I found out that I c= an configure the direct URL to the tomee artifact in the project. >>> But this resulted in the same error. >>> >>> Or is it related to me not using the arquillian container artifact fro= m "https://repository.apache.org/content/groups/snapshots/org/apache/tomee= /arquillian-tomee-remote/10.1.1-SNAPSHOT/"? >>> >>> About not being able to download files by browser: firefox console rep= orts this error: >>> >>> Das Herunterladen von "https://repository.apache.org/content/groups/sn= apshots/org/apache/tomee/apache-tomee/10.1.1-SNAPSHOT/apache-tomee-10.1.1-= 20250712.035301-33-webprofile.zip" wurde blockiert, weil f=C3=BCr den ausl= =C3=B6senden iframe das sandbox-Attribut gesetzt ist. >>> >>> So it seems it is intended to block manual downloads? >>> >>> Best regards >>> >>> Wolfgang >>> >>> >>> Am 12.07.25 um 13:53 schrieb Richard Zowalla: >>>> Hi Wolfgang, >>>> >>>> You could try to configure the pluginRepository / repository into you= r local Maven POM for testing the snapshots: >>>> >>>> <repositories> >>>> <repository> >>>> <id>apache</id> >>>> <url>https://repository.apache.org/snapshots/</url> >>>> <releases> >>>> <enabled>false</enabled> >>>> </releases> >>>> <snapshots> >>>> <enabled>true</enabled> >>>> </snapshots> >>>> </repository> >>>> </repositories> >>>> >>>> You can reference the snapshot directly in your build afterwards. Sim= ilar can be done for <pluginRepository>. >>>> >>>> Gru=C3=9F >>>> Richard >>>> >>>>> Am 12.07.2025 um 11:14 schrieb Wolfgang Knauf <[email protected]= .INVALID>: >>>>> >>>>> There might be a problem with snapshot "apache-tomee-10.1.1-20250712= .035301-33-webprofile.zip" >>>>> >>>>> (by the way: I cannot click the download links in a browser, had to = use "wget" to download it. Tried two different browsers and two OS) >>>>> >>>>> >>>>> I tested it with an arquillian project, where the tomee container is= pulled from maven and managed by "org.apache.tomee:arquillian-tomee-remot= e", so I had to replace the 10.1.0 version in my local maven repository wi= th the snapshot (replaced "C:\Users\MYUSERNAME\.m2\repository\org\apache\t= omee\apache-tomee\10.1.0\apache-tomee-10.1.0-webprofile.zip" with snapshot= file and renamed directory "apache-tomee-webprofile-10.1.1-SNAPSHOT" to "= apache-tomee-webprofile-10.1.0" in zip). >>>>> >>>>> Attached is the output of a maven run using Java 24. At some point, = it starts printing thousands of errors: >>>>> >>>>> java.util.concurrent.ExecutionException: java.lang.IllegalArgumentEx= ception: can't parse argument number: >>>>> at java.base/java.util.concurrent.FutureTask.report(FutureTask.java= :124) >>>>> at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:19= 3) >>>>> at org.apache.openejb.util.Memoizer.compute(Memoizer.java:63) >>>>> at org.apache.openejb.util.Logger.formatMessage(Logger.java:398) >>>>> at org.apache.openejb.util.Logger.warning(Logger.java:643) >>>>> at org.apache.openejb.core.security.AbstractSecurityService.isCalle= rAuthorized(AbstractSecurityService.java:398) >>>>> at org.apache.openejb.core.singleton.SingletonContainer.invoke(Sing= letonContainer.java:192) >>>>> at org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomePr= oxyHandler.java:343) >>>>> at org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeP= roxyHandler.java:196) >>>>> at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbPr= oxyHandler.java:349) >>>>> at jdk.proxy3/jdk.proxy3.$Proxy30.create(Unknown Source) >>>>> at org.apache.openejb.core.ivm.naming.BusinessRemoteReference.getOb= ject(BusinessRemoteReference.java:36) >>>>> at org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.= java:186) >>>>> at org.apache.openejb.server.ejbd.JndiRequestHandler.doLookup(JndiR= equestHandler.java:261) >>>>> at org.apache.openejb.server.ejbd.JndiRequestHandler.processRespons= e(JndiRequestHandler.java:174) >>>>> at org.apache.openejb.server.ejbd.EjbDaemon.processJndiResponse(Ejb= Daemon.java:380) >>>>> at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:= 282) >>>>> at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:= 104) >>>>> at org.apache.openejb.server.httpd.ServerServlet.service(ServerServ= let.java:60) >>>>> at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >>>>> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter= (ApplicationFilterChain.java:195) >>>>> at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applica= tionFilterChain.java:140) >>>>> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWra= pperValve.java:167) >>>>> at org.apache.catalina.core.StandardContextValve.invoke(StandardCon= textValve.java:90) >>>>> at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:= 45) >>>>> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostVa= lve.java:116) >>>>> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportVa= lve.java:93) >>>>> at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapture= r.invoke(OpenEJBSecurityListener.java:97) >>>>> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(Abstrac= tAccessLogValve.java:666) >>>>> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngi= neValve.java:74) >>>>> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapte= r.java:344) >>>>> at org.apache.coyote.http11.Http11Processor.service(Http11Processor= .java:398) >>>>> at org.apache.coyote.AbstractProcessorLight.process(AbstractProcess= orLight.java:63) >>>>> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(Abs= tractProtocol.java:903) >>>>> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(Nio= Endpoint.java:1769) >>>>> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcess= orBase.java:52) >>>>> at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(Thre= adPoolExecutor.java:1189) >>>>> at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(Thr= eadPoolExecutor.java:658) >>>>> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(T= askThread.java:63) >>>>> at java.base/java.lang.Thread.run(Thread.java:1447) >>>>> Caused by: java.lang.IllegalArgumentException: can't parse argument = number: >>>>> at java.base/java.text.MessageFormat.setFormatFromPattern(MessageFo= rmat.java:1644) >>>>> at java.base/java.text.MessageFormat.applyPatternImpl(MessageFormat= .java:660) >>>>> at java.base/java.text.MessageFormat.<init>(MessageFormat.java:516) >>>>> at org.apache.openejb.util.Memoizer$1.call(Memoizer.java:52) >>>>> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:32= 8) >>>>> at org.apache.openejb.util.Memoizer.compute(Memoizer.java:59) >>>>> ... 37 more >>>>> Caused by: java.lang.NumberFormatException: For input string: "" >>>>> at java.base/java.lang.NumberFormatException.forInputString(NumberF= ormatException.java:67) >>>>> at java.base/java.lang.Integer.parseInt(Integer.java:541) >>>>> at java.base/java.lang.Integer.parseInt(Integer.java:661) >>>>> at java.base/java.text.MessageFormat.setFormatFromPattern(MessageFo= rmat.java:1642) >>>>> ... 42 more >>>>> >>>>> Seems the server is not stopped or it takes too long to print all th= oses errors, I killed it after a few seconds an 1GB of log file ;-) >>>>> >>>>> The project where the issue occured uses arquillian and "org.apache.= tomee:arquillian-tomee-remote". In the failed run, I still used 10.1.0 of = this plugin, without trying to replace it with a snapshot version. Is it m= aybe caused by this one? >>>>> >>>>> >>>>> Best regards >>>>> >>>>> Wolfgang >>>>> >>>>> Am 11.07.25 um 22:14 schrieb Wolfgang Knauf: >>>>>> Thanks, great work. >>>>>> I will give it a try the next few days and report back if there are= further problems. >>>>>> Best regards >>>>>> Wolfgang >>>>>> Am 11.07.25 um 14:15 schrieb Richard Zowalla: >>>>>>> Hi Wolfgang, >>>>>>> >>>>>>> we just pushed some changes, which should allow TomEE to run on Ja= va 24 (with some limitations regarding EJB method security, etc.) >>>>>>> >>>>>>> Nightlies should be available via https://repository.apache.org/ c= ontent/groups/snapshots/org/apache/tomee/apache-tomee/10.1.1- SNAPSHOT/ so= on. >>>>>>> >>>>>>> Gru=C3=9F >>>>>>> Richard >>>>>>> >>>>>>> On 2025/04/04 08:28:20 Wolfgang Knauf wrote: >>>>>>>> Hi all, >>>>>>>> >>>>>>>> (sorry if this is a duplicate one, I already sent it a few days a= go, but as it did not appear, I think it might be related to the fact that= I did not subscribe to the list) >>>>>>>> >>>>>>>> TomEE 10.0.1 fails to launch with Java 24: >>>>>>>> >>>>>>>> 01-Apr-2025 13:10:36.888 SCHWERWIEGEND [main] org.apache.openejb.= util.OpenEJBErrorHandler.handleUnknownError FATAL ERROR: Unknown error in = Assembler. Please send the following stack trace and this message to users= @tomee.apache.org : >>>>>>>> org.apache.xbean.recipe.ConstructionException: Error invoking con= structor: public org.apache.tomee.catalina.TomcatSecurityService() >>>>>>>> at org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory= .create(ReflectionUtil.java:981) >>>>>>>> at org.apache.xbean.recipe.ObjectRecipe.internalCreate(Objec= tRecipe.java:279) >>>>>>>> at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRec= ipe.java:96) >>>>>>>> at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRec= ipe.java:61) >>>>>>>> at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRec= ipe.java:49) >>>>>>>> at org.apache.openejb.assembler.classic.Assembler.createSecu= rityService(Assembler.java:3553) >>>>>>>> at org.apache.openejb.assembler.classic.Assembler.buildConta= inerSystem(Assembler.java:579) >>>>>>>> at org.apache.openejb.assembler.classic.Assembler.build(Asse= mbler.java:497) >>>>>>>> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:1= 50) >>>>>>>> at org.apache.openejb.OpenEJB.init(OpenEJB.java:307) >>>>>>>> at org.apache.tomee.catalina.TomcatLoader.initialize(TomcatL= oader.java:244) >>>>>>>> at org.apache.tomee.catalina.ServerListener.lifecycleEvent(S= erverListener.java:161) >>>>>>>> at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent= (LifecycleBase.java:109) >>>>>>>> at org.apache.catalina.util.LifecycleBase.setStateInternal(L= ifecycleBase.java:389) >>>>>>>> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase= .java:123) >>>>>>>> at org.apache.catalina.startup.Catalina.load(Catalina.java:7= 12) >>>>>>>> at org.apache.catalina.startup.Catalina.load(Catalina.java:7= 35) >>>>>>>> at java.base/ jdk.internal.reflect.DirectMethodHandleAccesso= r.invoke(DirectMethodHandleAccessor.java:104) >>>>>>>> at java.base/java.lang.reflect.Method.invoke(Method.java:565= ) >>>>>>>> at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java= :302) >>>>>>>> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java= :472) >>>>>>>> Caused by: java.lang.IllegalStateException: Could not install JAC= C Policy Provider: org.apache.openejb.core.security.JaccProvider$Policy >>>>>>>> at org.apache.openejb.core.security.AbstractSecurityService.= installPolicy(AbstractSecurityService.java:443) >>>>>>>> at org.apache.openejb.core.security.AbstractSecurityService.= installJacc(AbstractSecurityService.java:431) >>>>>>>> at org.apache.openejb.core.security.AbstractSecurityService.= <init>(AbstractSecurityService.java:94) >>>>>>>> at org.apache.openejb.core.security.AbstractSecurityService.= <init>(AbstractSecurityService.java:88) >>>>>>>> at org.apache.tomee.catalina.TomcatSecurityService.<init>(To= mcatSecurityService.java:55) >>>>>>>> at java.base/ jdk.internal.reflect.DirectConstructorHandleAc= cessor.newInstance(DirectConstructorHandleAccessor.java:62) >>>>>>>> at java.base/ java.lang.reflect.Constructor.newInstanceWithC= aller(Constructor.java:499) >>>>>>>> at java.base/ java.lang.reflect.Constructor.newInstance(Cons= tructor.java:483) >>>>>>>> at org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory= .create(ReflectionUtil.java:971) >>>>>>>> ... 20 more >>>>>>>> Caused by: java.lang.UnsupportedOperationException: Setting a sys= tem- wide Policy object is not supported >>>>>>>> at java.base/java.security.Policy.setPolicy(Policy.java:114) >>>>>>>> at org.apache.openejb.core.security.AbstractSecurityService.= installPolicy(AbstractSecurityService.java:441) >>>>>>>> ... 28 more >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Is there something I should do about this (file a JIRA issue), or= is the Java 24 support already on your roadmap? >>>>>>>> >>>>>>>> Best regards >>>>>>>> >>>>>>>> Wolfgang >>>>>>>> >>>>> <log.txt> >>>> >>> >>