Hi Well I don't manage to comment on jira (proxy issue I guess)
latch.await(timeout, TimeUnit.SECONDS); is wrong IMHO (no timeout should be needed otherwise we know we'll be broken for big apps, in particular with 30s as default, we could put 30mn if we want to keep it). Personally I thought fixing it more on the long term getting rid of async part since we now can't avoid link() and rewriting what is slow if it is - depend a lot of the app, I'll try to use a deltaspike + spring one to test it. Async impl was mainly a lazy solution when it was not mandatory but since JavaEE 6 it is actually mandatory so we need to tackle it properly. It should take next week I guess maximum. wdyt? Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau 2014-08-08 13:48 GMT+02:00 Andy Gumbrecht <[email protected]>: > Submitted a patch to XBean that fixes the issue: > https://issues.apache.org/jira/browse/XBEAN-271 > > Andy. > > > On 07/08/2014 20:52, David Blevins wrote: >> >> Getting a deadlock on AsynchronousInheritanceAnnotationFinder when the >> interface a class implements is not in the jar being scanned. >> >> "main" #1 prio=5 os_prio=31 tid=0x00007f98ba812000 nid=0x1903 waiting on >> condition [0x000000010862c000] >> java.lang.Thread.State: WAITING (parking) >> at sun.misc.Unsafe.park(Native Method) >> - parking to wait for <0x000000016dd4ffc8> (a >> java.util.concurrent.CountDownLatch$Sync) >> at >> java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) >> at >> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) >> at >> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) >> at >> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) >> at >> java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231) >> at >> org.apache.xbean.finder.AsynchronousInheritanceAnnotationFinder.join(AsynchronousInheritanceAnnotationFinder.java:111) >> at >> org.apache.xbean.finder.AsynchronousInheritanceAnnotationFinder.findImplementations(AsynchronousInheritanceAnnotationFinder.java:97) >> at >> org.apache.openejb.config.FinderFactory$ModuleLimitedFinder.findImplementations(FinderFactory.java:275) >> at >> org.apache.tomee.catalina.OpenEJBContextConfig.processServletContainerInitializers(OpenEJBContextConfig.java:436) >> at >> org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1265) >> at >> org.apache.tomee.catalina.OpenEJBContextConfig.webConfig(OpenEJBContextConfig.java:363) >> at >> org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:873) >> - locked <0x0000000118d204b8> (a >> org.apache.tomee.catalina.OpenEJBContextConfig) >> at >> org.apache.tomee.catalina.OpenEJBContextConfig.configureStart(OpenEJBContextConfig.java:113) >> at >> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:371) >> at >> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) >> at >> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) >> at >> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5355) >> - locked <0x0000000118d1f970> (a >> org.apache.catalina.core.StandardContext) >> at >> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) >> - locked <0x0000000118d1f970> (a >> org.apache.catalina.core.StandardContext) >> at >> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) >> at >> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) >> at >> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632) >> >> More importantly, when/why did we start using findImplementations? >> >> >> -David >> >> >> > > -- > Andy Gumbrecht > > http://www.tomitribe.com > [email protected] > https://twitter.com/AndyGeeDe > > TomEE treibt Tomitribe! | http://tomee.apache.org >
