There's definitely an issue. I'll try and dig up some test failure details for you. Thanks for the info below!
Jon On Tue, Jul 21, 2020 at 4:58 PM Vicente Rossello <[email protected]> wrote: > I tried a few tests in tomee and they worked, and I realized it's something > with a custom CDI extension in my project, so I opened a ticket in > openwebbeans: https://issues.apache.org/jira/browse/OWB-1340 > > I don't know if it's the same case as in tomee project since I'm unable to > reproduce it in tomee project. Maybe wait for this bug to resolve and then > I can open an issue in tomee if it still doesn't work? > > Best regards, > Vicente. > > On Tue, Jul 21, 2020 at 3:33 PM Jonathan Gallimore < > [email protected]> wrote: > > > That's so awesome Vicente, thank you! > > > > On Tue, Jul 21, 2020 at 2:30 PM Vicente Rossello <[email protected] > > > > wrote: > > > > > Of course. I will create a JIRA and investigate it further to see if it > > can > > > make 8.0.5 release > > > > > > On Tue, Jul 21, 2020 at 3:24 PM Jonathan Gallimore < > > > [email protected]> wrote: > > > > > > > The JIRA shouldn't be resolved. The update was backed out because it > > > broke > > > > a number of unit tests. > > > > > > > > I'm very happy for you to create a JIRA and work on it, that's much > > > > appreciated. I too don't know specifically what the issue is - if > > you've > > > > managed to pin the breakage down to a specific OWB commit, you're > > > > doing better than me :-). > > > > > > > > I don't think its "showstopping" issue for the release though - if > its > > > > going to take a little time to get working and a green build, I'd > > prefer > > > to > > > > do two releases (one now and one when its working) than hold up this > > > > release which includes Tomcat updates to address CVEs. Releases are > > > getting > > > > easier the more frequently we do them. > > > > > > > > Jon > > > > > > > > On Tue, Jul 21, 2020 at 1:36 PM Vicente Rossello < > > [email protected] > > > > > > > > wrote: > > > > > > > > > Hi, > > > > > > > > > > Looking at the OWB upgrade, I see that the JIRA issue is resolved ( > > > > > https://issues.apache.org/jira/browse/TOMEE-2809 ) but it was > > reverted > > > > in > > > > > a > > > > > subsequent commit for some reason (I guess there is an issue with > > > > > application composer), so 2.0.12 it's still in. > > > > > > > > > > I would love to help with this but I have no idea of the issue. > > > > > > > > > > This applicationComposer starts correctly with 2.0.15 (I have > > > simplified > > > > > without extensions since I use junit 5): > > > > > > > > > > import org.apache.openejb.jee.WebApp; > > > > > import org.apache.openejb.testing.Application; > > > > > import org.apache.openejb.testing.ApplicationComposers; > > > > > import org.apache.openejb.testing.Classes; > > > > > import org.apache.openejb.testing.Module; > > > > > import org.junit.jupiter.api.Test; > > > > > > > > > > public class SomeTest { > > > > > > > > > > @Module > > > > > @Classes(cdi = true) > > > > > public WebApp app() { > > > > > return new WebApp() > > > > > .contextRoot("/") > > > > > .addServlet("REST Application", > > > > > Application.class.getName()); > > > > > } > > > > > > > > > > @Test > > > > > public void start() { > > > > > ApplicationComposers.run(SomeTest.class, new String[]{}); > > > > > } > > > > > } > > > > > > > > > > But it doesn't work with 2.0.16 (note that it also works with cdi = > > > > false). > > > > > The error is: > > > > > > > > > > > > > > > java.lang.IllegalStateException: On a thread without an initialized > > > > context > > > > > nor a classloader mapping a deployed app > > > > > org.apache.openejb.OpenEJBRuntimeException: > > > > > java.lang.IllegalStateException: On a thread without an initialized > > > > context > > > > > nor a classloader mapping a deployed app > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.testing.ApplicationComposers.run(ApplicationComposers.java:1563) > > > > > at com.tr2.web.admin.SomeTest.start(SomeTest.java:22) > > > > > at > > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > > > > > Method) > > > > > at > > > > > > > > > > > > > > > > > > > > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > > > > at > > > > > > > > > > > > > > > > > > > > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > > > > at java.base/java.lang.reflect.Method.invoke(Method.java:564) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:686) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:212) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:208) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:137) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:71) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:135) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) > > > > > at > > > > > > > > > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:171) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:115) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) > > > > > at > > > > > > > > > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:171) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:115) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) > > > > > at > > > > > > > > > org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) > > > > > at > > > > > > > > > > > > > > > > > > > > org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:171) > > > > > at > > > > > > > > > > > > > > > > > > > > java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) > > > > > at > > > > > > > > > java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) > > > > > at > > > > > > > > > > > > > > > > > > > > java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016) > > > > > at > > > > > > java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665) > > > > > at > > > > > > > > > > > > > > > > > > > > java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598) > > > > > at > > > > > > > > > > > > > > > > > > > > java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177) > > > > > Caused by: java.lang.IllegalStateException: On a thread without an > > > > > initialized context nor a classloader mapping a deployed app > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.cdi.ThreadSingletonServiceImpl.get(ThreadSingletonServiceImpl.java:350) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.cdi.ThreadSingletonServiceImpl.getContext(ThreadSingletonServiceImpl.java:326) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.cdi.ThreadSingletonServiceImpl.get(ThreadSingletonServiceImpl.java:361) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.cdi.ThreadSingletonServiceImpl.get(ThreadSingletonServiceImpl.java:69) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.config.WebBeansFinder.getSingletonInstance(WebBeansFinder.java:57) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.config.WebBeansContext.getInstance(WebBeansContext.java:182) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.config.WebBeansContext.currentInstance(WebBeansContext.java:200) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.ee.event.TransactionalEventNotifier.registerTransactionSynchronization(TransactionalEventNotifier.java:70) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.cdi.OpenEJBTransactionService.registerTransactionSynchronization(OpenEJBTransactionService.java:94) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.event.NotificationManager.doFireSync(NotificationManager.java:731) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.event.NotificationManager.doFireEvent(NotificationManager.java:667) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.event.NotificationManager.fireEvent(NotificationManager.java:651) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:495) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:469) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.container.BeanManagerImpl.fireEvent(BeanManagerImpl.java:453) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.container.BeanManagerImpl.fireContextLifecyleEvent(BeanManagerImpl.java:479) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.web.context.WebContextsService.initSessionContext(WebContextsService.java:503) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.webbeans.web.context.WebContextsService.startContext(WebContextsService.java:314) > > > > > at > > > org.apache.openejb.cdi.ScopeHelper.startContexts(ScopeHelper.java:35) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.testing.ApplicationComposers.deployApp(ApplicationComposers.java:727) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.testing.ApplicationComposers.before(ApplicationComposers.java:386) > > > > > at > > > > > > > > > > > > > > > > > > > > org.apache.openejb.testing.ApplicationComposers.run(ApplicationComposers.java:1532) > > > > > ... 59 more > > > > > > > > > > > > > > > I guess that the break comes from: > > > > > > > > > > > > > > > > > > > > https://github.com/apache/openwebbeans/commit/1f79dc5ee9fa3e9675620fd2291b63094b4933c9 > > > > > , > > > > > since I can't see an explicit start in tomee (looking at > > > > > TransactionalEventNotifier.java:70) > > > > > > > > > > Want me to create a JIRA issue? I would love to have 2.0.17 so we > can > > > use > > > > > java 14 records > > > > > > > > > > Best regards, > > > > > Vicente. > > > > > > > > > > > > > > > On Tue, Jul 21, 2020 at 12:23 PM Jonathan Gallimore < > > > > > [email protected]> wrote: > > > > > > > > > > > We've had some updated dependencies, some fixes around MDB > instance > > > > > limits, > > > > > > and a couple of other bugs fixes. We're also starting to get > into a > > > > > slight > > > > > > better momentum with regular releases. > > > > > > > > > > > > So - I'm going to roll an 8.0.4 and 9.0.0-M2 release now, and > I'll > > > > > > follow up with releases for the two 7.x branches as well. > > > > > > > > > > > > If there's a showstopper, please let me know. > > > > > > > > > > > > Thanks > > > > > > > > > > > > Jon > > > > > > > > > > > > > > > > > > > > >
