[ 
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

        

Reply via email to