[ https://issues.apache.org/jira/browse/CAMEL-5307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13283282#comment-13283282 ]
Claus Ibsen commented on CAMEL-5307: ------------------------------------ {code} Full thread dump "Blueprint Extender: 3@1060" daemon prio=5 tid=0x13 nid=NA waiting for monitor entry java.lang.Thread.State: BLOCKED blocks main@1 waiting for main@1 to release lock on <0x92d> (a java.util.HashMap) at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:303) at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:444) at org.apache.camel.core.xml.AbstractCamelEndpointFactoryBean.getObject(AbstractCamelEndpointFactoryBean.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:226) at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:824) at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:234) at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:706) at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64) - locked <0x953> (a java.lang.Object) at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219) at org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:198) at org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:137) at org.apache.aries.blueprint.container.BlueprintContainerImpl.getComponentInstance(BlueprintContainerImpl.java:718) at org.apache.camel.blueprint.BlueprintContainerRegistry.lookup(BlueprintContainerRegistry.java:47) at org.apache.camel.impl.CompositeRegistry.lookup(CompositeRegistry.java:49) at org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookup(PropertyPlaceholderDelegateRegistry.java:62) at org.apache.camel.util.CamelContextHelper.lookup(CamelContextHelper.java:108) at org.apache.camel.util.CamelContextHelper.mandatoryLookup(CamelContextHelper.java:128) at org.apache.camel.util.CamelContextHelper.getEndpointInjection(CamelContextHelper.java:150) at org.apache.camel.impl.CamelPostProcessorHelper.getEndpointInjection(CamelPostProcessorHelper.java:135) at org.apache.camel.impl.CamelPostProcessorHelper.createInjectionProducerTemplate(CamelPostProcessorHelper.java:177) at org.apache.camel.impl.CamelPostProcessorHelper.getInjectionValue(CamelPostProcessorHelper.java:144) at org.apache.camel.blueprint.handler.CamelNamespaceHandler$CamelInjector.injectField(CamelNamespaceHandler.java:569) at org.apache.camel.blueprint.handler.CamelNamespaceHandler$CamelInjector.injectFields(CamelNamespaceHandler.java:556) at org.apache.camel.blueprint.handler.CamelNamespaceHandler$CamelInjector.afterInit(CamelNamespaceHandler.java:629) at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcPostInit(BeanRecipe.java:668) at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:726) at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64) at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219) at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147) at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:640) at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:331) at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:227) - locked <0x954> (a java.util.concurrent.atomic.AtomicBoolean) - locked <0x955> (a java.util.concurrent.atomic.AtomicBoolean) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:680) "main@1" prio=5 tid=0x1 nid=NA waiting for monitor entry java.lang.Thread.State: BLOCKED blocks Blueprint Extender: 3@1060 waiting for Blueprint Extender: 3@1060 to release lock on <0x953> (a java.lang.Object) at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:212) at org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:198) at org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:137) at org.apache.aries.blueprint.container.BlueprintContainerImpl.getComponentInstance(BlueprintContainerImpl.java:718) at org.apache.camel.blueprint.BlueprintContainerRegistry.lookup(BlueprintContainerRegistry.java:41) at org.apache.camel.impl.CompositeRegistry.lookup(CompositeRegistry.java:68) at org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookup(PropertyPlaceholderDelegateRegistry.java:49) at org.apache.camel.blueprint.BlueprintComponentResolver.resolveComponent(BlueprintComponentResolver.java:39) at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:306) - locked <0x92d> (a java.util.HashMap) at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:444) at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:480) at org.apache.camel.test.blueprint.CamelEndpointInjectTest.testEndpointInjection(CamelEndpointInjectTest.java:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47) at org.junit.rules.RunRules.evaluate(RunRules.java:18) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:76) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) "Blueprint Extender: 2@897" daemon prio=5 tid=0x11 nid=NA waiting java.lang.Thread.State: WAITING at sun.misc.Unsafe.park(Unsafe.java:-1) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025) at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:680) "Blueprint Extender: 1@893" daemon prio=5 tid=0x10 nid=NA waiting java.lang.Thread.State: WAITING at sun.misc.Unsafe.park(Unsafe.java:-1) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025) at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:680) "FelixDispatchQueue@715" prio=5 tid=0xf nid=NA waiting java.lang.Thread.State: WAITING at java.lang.Object.wait(Object.java:-1) at java.lang.Object.wait(Object.java:485) at de.kalpatec.pojosr.framework.felix.framework.util.EventDispatcher.run(EventDispatcher.java:858) at de.kalpatec.pojosr.framework.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:45) at de.kalpatec.pojosr.framework.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:100) at java.lang.Thread.run(Thread.java:680) "Configuration Updater@961" prio=5 tid=0x12 nid=NA waiting java.lang.Thread.State: WAITING at java.lang.Object.wait(Object.java:-1) at java.lang.Object.wait(Object.java:485) at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:67) "Finalizer@2338" daemon prio=8 tid=0x3 nid=NA waiting java.lang.Thread.State: WAITING at java.lang.Object.wait(Object.java:-1) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler@2339" daemon prio=10 tid=0x2 nid=NA waiting java.lang.Thread.State: WAITING at java.lang.Object.wait(Object.java:-1) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) "Signal Dispatcher@2337" daemon prio=9 tid=0x6 nid=NA runnable java.lang.Thread.State: RUNNABLE {code} > Blueprint testing - Potential dead lock > --------------------------------------- > > Key: CAMEL-5307 > URL: https://issues.apache.org/jira/browse/CAMEL-5307 > Project: Camel > Issue Type: Task > Components: camel-test > Affects Versions: 2.10.0 > Reporter: Claus Ibsen > Fix For: 2.10.0 > > > Using the camel-test-blueprint, there is a potential dead-lock as namespace > parser and main method is separate threads, and the namespace parser may > still run, when main thread starts the test. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira