After applying Patch5 in JBoss Fuse, customer can not shutdown the root container using CTRL+D

Solution Unverified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.