Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-258

Fuse ESB 7.0.1.fuse-084 hangs when root log level is set to DEBUG

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • fuse-esb-7.0.2, M1
    • fuse-esb-7.0.1
    • None
    • None
    • % %

      With a clean install of ESB 7.0.1.fuse-084 I issue the following commands

      FuseESB:karaf@root> log:get ALL
      ROOT: INFO
      FuseESB:karaf@root> log:set DEBUG
      FuseESB:karaf@root> log:get
      
      
      

      The log:get appears to hang indefinitely. I have also tried the command "osgi:list" after the "log:set DEBUG" and it appears to hang indefinitely also.

      From the thread dump (attached) I can see the following threads are waiting on a lock owned by pool-org.ops4j.pax.logging.pax-logging-service-1.6.9-thread-2 that in turn appears to be waiting on a lock (7fb1fcf58). I cannot find that lock in the thread dump.

      ...
      "pool-org.ops4j.pax.logging.pax-logging-service-1.6.9-thread-2" prio=5 tid=7f89e33e4800 nid=0x110788000 waiting on condition [110786000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <7fb1fcf58> (a java.util.concurrent.FutureTask$Sync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:969)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1281)
      	at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:218)
      	at java.util.concurrent.FutureTask.get(FutureTask.java:83)
      	at org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:223)
      	at org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:321)
      	at org.apache.felix.framework.Felix.getService(Felix.java:3607)
      	at org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:468)
      	at org.osgi.util.tracker.ServiceTracker.addingService(ServiceTracker.java:450)
      	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:980)
      	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
      	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:262)
      	at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:185)
      	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:348)
      	at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:283)
      	at org.ops4j.pax.logging.service.internal.PaxAppenderProxy.<init>(PaxAppenderProxy.java:38)
      	at org.apache.log4j.PaxLoggingConfigurator.parseAppender(PaxLoggingConfigurator.java:71)
      	at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
      	at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
      	- locked <7e09ee150> (a org.apache.log4j.spi.RootLogger)
      	at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
      	at org.apache.log4j.PaxLoggingConfigurator.doConfigure(PaxLoggingConfigurator.java:57)
      	at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:212)
      	at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:352)
      	at org.apache.felix.cm.impl.ConfigurationManager$1.call(ConfigurationManager.java:1756)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	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)
      
         Locked ownable synchronizers:
      	- <7fb1e2588> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      	- <7e11c6790> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
      
      ....
      
      "pool-org.apache.karaf.shell.log-2.2.5.fuse-70-084-thread-4" prio=5 tid=7f89e30a2000 nid=0x11088b000 waiting on condition [11088a000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <7e11c6790> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
      	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
      	at org.ops4j.pax.logging.service.internal.PaxLoggerImpl.setDelegateContext(PaxLoggerImpl.java:104)
      	at org.ops4j.pax.logging.service.internal.PaxLoggerImpl.debug(PaxLoggerImpl.java:134)
      	at org.ops4j.pax.logging.internal.TrackingLogger.debug(TrackingLogger.java:81)
      	at org.ops4j.pax.logging.slf4j.Slf4jLogger.debug(Slf4jLogger.java:301)
      	at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:244)
      	at org.apache.aries.blueprint.container.ServiceRecipe.getService(ServiceRecipe.java:327)
      	at org.apache.aries.blueprint.container.ServiceRecipe$TriggerServiceFactory.getService(ServiceRecipe.java:430)
      	at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:325)
      	at org.apache.felix.framework.ServiceRegistrationImpl.access$100(ServiceRegistrationImpl.java:46)
      	at org.apache.felix.framework.ServiceRegistrationImpl$1.call(ServiceRegistrationImpl.java:234)
      	at org.apache.felix.framework.Felix$6.call(Felix.java:2036)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	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)
      
         Locked ownable synchronizers:
      	- <7fb80c188> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      
      
      ...
      
        "pool-org.apache.karaf.shell.log-2.2.5.fuse-70-084-thread-3" prio=5 tid=7f89e302c800 nid=0x10ed74000 waiting on condition [10ed73000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <7e11c6790> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
      	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
      	at org.ops4j.pax.logging.service.internal.PaxLoggerImpl.setDelegateContext(PaxLoggerImpl.java:104)
      	at org.ops4j.pax.logging.service.internal.PaxLoggerImpl.debug(PaxLoggerImpl.java:134)
      	at org.ops4j.pax.logging.internal.TrackingLogger.debug(TrackingLogger.java:81)
      	at org.ops4j.pax.logging.slf4j.Slf4jLogger.debug(Slf4jLogger.java:301)
      	at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:244)
      	at org.apache.aries.blueprint.container.ServiceRecipe.getService(ServiceRecipe.java:327)
      	at org.apache.aries.blueprint.container.ServiceRecipe$TriggerServiceFactory.getService(ServiceRecipe.java:430)
      	at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:325)
      	at org.apache.felix.framework.ServiceRegistrationImpl.access$100(ServiceRegistrationImpl.java:46)
      	at org.apache.felix.framework.ServiceRegistrationImpl$1.call(ServiceRegistrationImpl.java:234)
      	at org.apache.felix.framework.Felix$6.call(Felix.java:2036)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	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)
      
         Locked ownable synchronizers:
      	- <7fa594ce8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
      
      ....
      
          "ActiveMQ Journal Checkpoint Worker" daemon prio=5 tid=7f89d90cb800 nid=0x120ef5000 waiting on condition [120ef4000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <7e11c6790> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
      	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
      	at org.ops4j.pax.logging.service.internal.PaxLoggerImpl.setDelegateContext(PaxLoggerImpl.java:104)
      	at org.ops4j.pax.logging.service.internal.PaxLoggerImpl.debug(PaxLoggerImpl.java:134)
      	at org.ops4j.pax.logging.internal.TrackingLogger.debug(TrackingLogger.java:81)
      	at org.ops4j.pax.logging.slf4j.Slf4jLogger.debug(Slf4jLogger.java:262)
      	at org.apache.activemq.store.kahadb.MessageDatabase.checkpointUpdate(MessageDatabase.java:1318)
      	at org.apache.activemq.store.kahadb.MessageDatabase$10.execute(MessageDatabase.java:796)
      	at org.apache.kahadb.page.Transaction.execute(Transaction.java:765)
      	at org.apache.activemq.store.kahadb.MessageDatabase.checkpointCleanup(MessageDatabase.java:794)
      	at org.apache.activemq.store.kahadb.MessageDatabase$3.run(MessageDatabase.java:317)
      
         Locked ownable synchronizers:
      	- <7e1af7ae0> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
      
      ...
       "fileinstall-/apps/fusebin/fuse-esb-7.0.1.fuse-084/etc" prio=5 tid=7f89d937c800 nid=0x10e562000 waiting on condition [10e561000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <7e11c6790> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:156)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:941)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1261)
      	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:594)
      	at org.ops4j.pax.logging.service.internal.PaxLoggerImpl.setDelegateContext(PaxLoggerImpl.java:104)
      	at org.ops4j.pax.logging.service.internal.PaxLoggerImpl.debug(PaxLoggerImpl.java:134)
      	at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.log(PaxLoggingServiceImpl.java:169)
      	at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl.access$000(PaxLoggingServiceImpl.java:47)
      	at org.ops4j.pax.logging.service.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.log(PaxLoggingServiceImpl.java:336)
      	at org.apache.felix.cm.impl.ConfigurationManager.log(ConfigurationManager.java:1017)
      	at org.apache.felix.cm.impl.ConfigurationAdapter.getProperties(ConfigurationAdapter.java:136)
      	at org.apache.felix.fileinstall.internal.ConfigInstaller.setConfig(ConfigInstaller.java:220)
      	at org.apache.felix.fileinstall.internal.ConfigInstaller.update(ConfigInstaller.java:87)
      	at org.apache.felix.fileinstall.internal.DirectoryWatcher.update(DirectoryWatcher.java:1057)
      	at org.apache.felix.fileinstall.internal.DirectoryWatcher.update(DirectoryWatcher.java:859)
      	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:455)
      	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:273)
      
         Locked ownable synchronizers:
      	- None
      

      Notes:

      • I have only seen to occur if the root logger is set to DEBUG. Setting other loggers to DEBUG did not seem to have an impact
      • I could recover by killing the karaf process and restarting the instance - it seems to work normally. However if using "log:set DEUG" it seems to hang again.

            janstey@redhat.com Jonathan Anstey
            rhn-support-pfox Patrick Fox (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: