Abhinav Dudeja created ARIES-2193:
-------------------------------------

             Summary: Blueprint Event Dispatcher Stuck Indefinitely
                 Key: ARIES-2193
                 URL: https://issues.apache.org/jira/browse/ARIES-2193
             Project: Aries
          Issue Type: Bug
            Reporter: Abhinav Dudeja


Hi Team,

We use Apache Aries for bundle startup in karaf runtime. We recently have seen 
an issue where blueprint event dispatcher is stuck indefinitely waiting for 
task completion.


"FelixFrameworkWiring" #26 daemon prio=5 os_prio=0 cpu=18820.30ms 
elapsed=416939.05s allocated=1707081728 B (1628 MB) defined_classes=415 
tid=0x00007f18615e37a0 nid=0x27ff15 waiting on condition  [0x00007f181d0ed000]
   java.lang.Thread.State: TIMED_WAITING (parking)
at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
- parking to wait for  <0x00000006dc002b88> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at 
java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:252)
at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos([email protected]/AbstractQueuedSynchronizer.java:1679)
at 
java.util.concurrent.LinkedBlockingQueue.poll([email protected]/LinkedBlockingQueue.java:460)
at 
java.util.concurrent.ExecutorCompletionService.poll([email protected]/ExecutorCompletionService.java:209)
at 
java.util.concurrent.AbstractExecutorService.doInvokeAny([email protected]/AbstractExecutorService.java:193)
at 
java.util.concurrent.AbstractExecutorService.invokeAny([email protected]/AbstractExecutorService.java:235)
at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$4.call(ScheduledExecutorServiceWrapper.java:185)
at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$15.call(ScheduledExecutorServiceWrapper.java:446)
at 
org.apache.aries.blueprint.utils.threading.RWLock.runReadOperation(RWLock.java:33)
at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.runUnlessShutdown(ScheduledExecutorServiceWrapper.java:443)
at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.invokeAny(ScheduledExecutorServiceWrapper.java:180)
at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListener(BlueprintEventDispatcher.java:195)
at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.sendInitialEvents(BlueprintEventDispatcher.java:119)
at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.access$100(BlueprintEventDispatcher.java:62)
at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher$2.addingService(BlueprintEventDispatcher.java:98)
- locked <0x00000004c4be16b0> (a java.util.concurrent.CopyOnWriteArraySet)
at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher$2.addingService(BlueprintEventDispatcher.java:93)

at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
at 
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:871)
at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
at 
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903)
at 
org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
at 
org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
at 
org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863)
at org.apache.felix.framework.Felix.registerService(Felix.java:3834)
at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)
at 
org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:335)
at 
org.apache.camel.blueprint.BlueprintCamelContext.doBuild(BlueprintCamelContext.java:121)
at org.apache.camel.support.service.BaseService.build(BaseService.java:63)
- locked <0x00000004ceee89b8> (a java.lang.Object)


To confirm issue is not with ScheduledExecutorService, we passed a infinite 
loop with a 60 second timeout to the service and the service timed out as 
expected. But, when using the apache aries to submit a task, the thread is 
stuck indefinitely waiting for task completion.

We use the default 60 second timeout set in the Aries library for 
ScheduledExecutorServiceWrapper.invokeAny().


Please check this issue on priority as this causes the whole system to be stuck 
and needing a complete restart.

Thanks,
Abhinav Dudeja



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to