After applying Patch5 in JBoss Fuse, customer can not shutdown the root container using CTRL+D
Issue
After applying Patch5 in JBoss Fuse, customer can not shutdown the root container using CTRL+D
JBossFuse:karaf@root>mq-create broker2
JBossFuse:karaf@root>container-add-profile root broker2
The shutdown hangs and we could see "Stop for ActiveMQ Broker: broker2" thread is BLOCKED and waiting on object which is locked is locked by FelixShutdown:
"Stop for ActiveMQ Broker: broker2" prio=5 tid=7fdcfedc4800 nid=0x1272ac000 waiting for monitor entry [1272ab000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration.org$fusesource$mq$fabric$ActiveMQServiceFactory$ClusteredConfiguration$$interruptAndWaitForStart(ActiveMQServiceFactory.scala:433)
- waiting to lock <76f8d1988> (a org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration)
at org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration$$anon$3.run(ActiveMQServiceFactory.scala:338
"FelixShutdown" prio=5 tid=7fdcfe232000 nid=0x1270a6000 in Object.wait() [1270a3000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <763d78b28> (a org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration$$anon$3)
at java.lang.Thread.join(Thread.java:1225)
- locked <763d78b28> (a org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration$$anon$3)
at java.lang.Thread.join(Thread.java:1278)
at org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration.org$fusesource$mq$fabric$ActiveMQServiceFactory$ClusteredConfiguration$$waitForStop(ActiveMQServiceFactory.scala:447)
at org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration.updateZooKeeper(ActiveMQServiceFactory.scala:222)
- locked <76f8d1988> (a org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration)
at org.fusesource.mq.fabric.ActiveMQServiceFactory$$anonfun$bindZooKeeper$1.apply(ActiveMQServiceFactory.scala:545)
at org.fusesource.mq.fabric.ActiveMQServiceFactory$$anonfun$bindZooKeeper$1.apply(ActiveMQServiceFactory.scala:544)
at scala.collection.mutable.HashMap$$anon$2$$anonfun$foreach$3.apply(HashMap.scala:102)
at scala.collection.mutable.HashMap$$anon$2$$anonfun$foreach$3.apply(HashMap.scala:102)
at scala.collection.Iterator$class.foreach(Iterator.scala:660)
at scala.collection.mutable.HashTable$$anon$1.foreach(HashTable.scala:157)
at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:190)
at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:43)
at scala.collection.mutable.HashMap$$anon$2.foreach(HashMap.scala:102)
at org.fusesource.mq.fabric.ActiveMQServiceFactory.bindZooKeeper(ActiveMQServiceFactory.scala:544)
- locked <76fb31fc8> (a org.fusesource.mq.fabric.ActiveMQServiceFactory)
at org.fusesource.mq.fabric.ActiveMQServiceFactory.removedService(ActiveMQServiceFactory.scala:536)
at org.fusesource.mq.fabric.ActiveMQServiceFactory.removedService(ActiveMQServiceFactory.scala:114)
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:956)
at org.osgi.util.tracker.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:864)
at org.osgi.util.tracker.AbstractTracked.untrack(AbstractTracked.java:341)
at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:902)
at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:934)
at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:795)
at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:544)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4596)
at org.apache.felix.framework.Felix.access$000(Felix.java:89)
at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:414)
at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:162)
at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:138)
at org.fusesource.fabric.zookeeper.internal.OsgiZkClient.close(OsgiZkClient.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
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:297)
at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)
at org.apache.aries.blueprint.container.BeanRecipe.destroy(BeanRecipe.java:863)
at org.apache.aries.blueprint.container.BlueprintRepository.destroy(BlueprintRepository.java:320)
at org.apache.aries.blueprint.container.BlueprintContainerImpl.destroyComponents(BlueprintContainerImpl.java:708)
at org.apache.aries.blueprint.container.BlueprintContainerImpl.tidyupComponents(BlueprintContainerImpl.java:910)
at org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:860)
at org.apache.aries.blueprint.container.BlueprintExtender$3.run(BlueprintExtender.java:295)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.apache.aries.blueprint.container.BlueprintExtender.destroyContainer(BlueprintExtender.java:316)
at org.apache.aries.blueprint.container.BlueprintExtender.stop(BlueprintExtender.java:162)
at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:207)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)
at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)
at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4580)
at org.apache.felix.framework.Felix.stopBundle(Felix.java:2695)
at org.apache.felix.framework.Felix$2.run(Felix.java:977)
at java.lang.Thread.run(Thread.java:695)
The issue occurs with the default activemq.xml
Environment
- Red Hat JBoss Fuse
- 6.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
