[
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