Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 17894171C for ; Tue, 19 Apr 2011 13:07:39 +0000 (UTC) Received: (qmail 98189 invoked by uid 500); 18 Apr 2011 21:07:39 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 98145 invoked by uid 500); 18 Apr 2011 21:07:39 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 98137 invoked by uid 99); 18 Apr 2011 21:07:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Apr 2011 21:07:39 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of pierre.derop@gmail.com designates 209.85.216.49 as permitted sender) Received: from [209.85.216.49] (HELO mail-qw0-f49.google.com) (209.85.216.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Apr 2011 21:07:30 +0000 Received: by qwi2 with SMTP id 2so4292958qwi.22 for ; Mon, 18 Apr 2011 14:07:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=9lpCG0+XQe51ouhgEVEAFwGhxM/W8cxGe1VILeQGzKI=; b=peWG/Pk+Vo3hBGbyO+FeQ+12ZRdrMUxkb5vM7oEvQCqyg/Hmx9c6bkrX+TBk9o+KmH woI9R8cFhs0Gw3Dz1D4Y5edtThhxT5y6/CdS29rYOIDFnaMqEvaeLHUeV9EjN6nVuSWc 1bX18hzn5vEgUEwSNxYGk1QgxggPg5U4py/fo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=SWCYvxBCm2RZpEupWxCfLvnM9k5bxEGJbu2wzo9aRiTD2P3eJtVZLjR7NpQ6BHe2XL yFz3Q0g9eSFCoHShHGAZ4BOWMG3A+z4y7KA0xttF2Wftb4X/v0bO0saNDgCi+oVioIeL sUzhsM+4Ix5Td95fnqbq3zXffDk46ZNO5wc4c= MIME-Version: 1.0 Received: by 10.229.13.210 with SMTP id d18mr3744002qca.76.1303160829028; Mon, 18 Apr 2011 14:07:09 -0700 (PDT) Received: by 10.229.35.76 with HTTP; Mon, 18 Apr 2011 14:07:08 -0700 (PDT) Date: Mon, 18 Apr 2011 23:07:08 +0200 Message-ID: Subject: can't stop the framework from gogo shell From: Pierre De Rop To: dev@felix.apache.org Content-Type: multipart/alternative; boundary=00151758f44a4cadb104a137c66a X-Virus-Checked: Checked by ClamAV on apache.org --00151758f44a4cadb104a137c66a Content-Type: text/plain; charset=ISO-8859-1 Hi everyone; It seems that I can't stop anymore the framework from the Gogo shell, when typing Ctrl-C ? I'm using the following bundles, including latest web console: g! lb START LEVEL 1 ID|State |Level|Name 0|Active | 0|System Bundle (3.2.0) 1|Active | 1|Apache Felix Bundle Repository (1.6.2) 2|Active | 1|Apache Felix Configuration Admin Service (1.2.8) 3|Active | 1|Apache Felix Gogo Command (0.8.0) 4|Active | 1|Apache Felix Gogo Runtime (0.8.0) 5|Active | 1|Apache Felix Gogo Shell (0.8.0) 6|Active | 1|Apache Felix Http Jetty (2.2.0) 7|Active | 1|Apache Felix Log Service (1.0.1) 8|Active | 1|Apache Felix Metatype Service (1.0.4) 9|Active | 1|Apache Felix Shell Service (1.4.2) 10|Active | 1|Apache Felix Web Management Console (3.1.8) And when I type "Ctrl-C", the shell is hanging, and does not exit. In the following jstack dump (taken after having typed "Ctrl-C" on gogo shell), jetty seems to be blocked while stopping: (see the thread "Jetty HTTP Service") ? -> Full thread dump Java HotSpot(TM) Server VM (19.0-b09 mixed mode): "Attach Listener" daemon prio=10 tid=0x796f7000 nid=0xb65 runnable [0x00000000] java.lang.Thread.State: RUNNABLE "FelixShutdown" prio=10 tid=0x08d97400 nid=0xb57 in Object.wait() [0x79176000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa24455f0> (a java.lang.Integer) at java.lang.Object.wait(Object.java:485) at org.apache.felix.framework.StartLevelImpl.setStartLevelAndWait(StartLevelImpl.java:129) - locked <0xa24455f0> (a java.lang.Integer) at org.apache.felix.framework.Felix$SystemBundleActivator.stop(Felix.java:4537) at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:651) at org.apache.felix.framework.Felix.stopBundle(Felix.java:2226) at org.apache.felix.framework.Felix$3.run(Felix.java:876) at java.lang.Thread.run(Thread.java:662) "Felix Shutdown Hook" prio=10 tid=0x7a019c00 nid=0xb56 in Object.wait() [0x79125000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2ad2bc8> (a org.apache.felix.framework.util.ThreadGate) at org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79) - locked <0xa2ad2bc8> (a org.apache.felix.framework.util.ThreadGate) at org.apache.felix.framework.Felix.waitForStop(Felix.java:916) at org.apache.felix.main.Main$1.run(Main.java:271) "SIGINT handler" daemon prio=10 tid=0xb6afd000 nid=0xb54 in Object.wait() [0x791c7000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2ae4190> (a org.apache.felix.main.Main$1) at java.lang.Thread.join(Thread.java:1186) - locked <0xa2ae4190> (a org.apache.felix.main.Main$1) at java.lang.Thread.join(Thread.java:1239) at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:79) at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:24) at java.lang.Shutdown.runHooks(Shutdown.java:79) at java.lang.Shutdown.sequence(Shutdown.java:123) at java.lang.Shutdown.exit(Shutdown.java:168) - locked <0x7a6b18c8> (a java.lang.Class for java.lang.Shutdown) at java.lang.Terminator$1.handle(Terminator.java:35) at sun.misc.Signal$1.run(Signal.java:195) at java.lang.Thread.run(Thread.java:662) "Timer-0" daemon prio=10 tid=0x7a002400 nid=0xb46 in Object.wait() [0x79218000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2326b40> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:509) - locked <0xa2326b40> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) "23738549@qtp-2545159-0" prio=10 tid=0x7a003400 nid=0xb44 in Object.wait() [0x792ba000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa21c2ca8> (a org.mortbay.thread.QueuedThreadPool$PoolThread) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:626) - locked <0xa21c2ca8> (a org.mortbay.thread.QueuedThreadPool$PoolThread) "Jetty HTTP Service" daemon prio=10 tid=0x79e7c400 nid=0xb43 in Object.wait() [0x7930b000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2ad3d90> (a [Ljava.lang.Object;) at java.lang.Object.wait(Object.java:485) at org.apache.felix.framework.Felix.acquireBundleLock(Felix.java:4930) - locked <0xa2ad3d90> (a [Ljava.lang.Object;) at org.apache.felix.framework.Felix.removeServiceListener(Felix.java:2844) at org.apache.felix.framework.BundleContextImpl.removeServiceListener(BundleContextImpl.java:256) at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:391) - locked <0xa2a47118> (a org.apache.felix.http.base.internal.listener.HttpSessionAttributeListenerManager) at org.apache.felix.http.base.internal.HttpServiceController.unregister(HttpServiceController.java:144) at org.apache.felix.http.base.internal.DispatcherServlet.destroy(DispatcherServlet.java:54) at org.mortbay.jetty.servlet.ServletHolder.destroyInstance(ServletHolder.java:318) at org.mortbay.jetty.servlet.ServletHolder.doStop(ServletHolder.java:289) at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76) - locked <0xa208b1d0> (a java.lang.Object) at org.mortbay.jetty.servlet.ServletHandler.doStop(ServletHandler.java:174) - locked <0xa206fb78> (a org.mortbay.jetty.servlet.ServletHandler) at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76) - locked <0xa206fbe0> (a java.lang.Object) at org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142) at org.mortbay.jetty.servlet.SessionHandler.doStop(SessionHandler.java:125) at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76) - locked <0xa2011050> (a java.lang.Object) at org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142) at org.mortbay.jetty.handler.ContextHandler.doStop(ContextHandler.java:591) at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76) - locked <0xa2011058> (a java.lang.Object) at org.mortbay.jetty.handler.HandlerWrapper.doStop(HandlerWrapper.java:142) at org.mortbay.jetty.Server.doStop(Server.java:283) at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76) - locked <0xa1dae120> (a java.lang.Object) at org.apache.felix.http.jetty.internal.JettyService.stopJetty(JettyService.java:127) at org.apache.felix.http.jetty.internal.JettyService.run(JettyService.java:300) at java.lang.Thread.run(Thread.java:662) "Gogo shell" daemon prio=10 tid=0x79e6e800 nid=0xb42 runnable [0x7935c000] java.lang.Thread.State: RUNNABLE at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:199) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) - locked <0xa2a43158> (a java.io.BufferedInputStream) at org.apache.felix.gogo.runtime.threadio.ThreadInputStream.read(ThreadInputStream.java:77) at org.apache.felix.gogo.shell.Console.getLine(Console.java:117) at org.apache.felix.gogo.shell.Console.run(Console.java:53) at org.apache.felix.gogo.shell.Shell.console(Shell.java:203) at org.apache.felix.gogo.shell.Shell.gosh(Shell.java:128) 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.felix.gogo.runtime.Reflective.method(Reflective.java:136) at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:82) at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:469) at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:395) at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183) at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120) at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89) at org.apache.felix.gogo.shell.Activator.run(Activator.java:75) at java.lang.Thread.run(Thread.java:662) "CM Event Dispatcher" daemon prio=10 tid=0x79e77400 nid=0xb41 in Object.wait() [0x793ad000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2a6a310> (a java.util.LinkedList) at java.lang.Object.wait(Object.java:485) at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:76) - locked <0xa2a6a310> (a java.util.LinkedList) at java.lang.Thread.run(Thread.java:662) "CM Configuration Updater" daemon prio=10 tid=0x79e5ac00 nid=0xb40 in Object.wait() [0x793fe000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2a67c30> (a java.util.LinkedList) at java.lang.Object.wait(Object.java:485) at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:76) - locked <0xa2a67c30> (a java.util.LinkedList) at java.lang.Thread.run(Thread.java:662) "FelixPackageAdmin" daemon prio=10 tid=0xb6ad0000 nid=0xb3f in Object.wait() [0x7955c000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2a683b0> (a org.apache.felix.framework.PackageAdminImpl) at java.lang.Object.wait(Object.java:485) at org.apache.felix.framework.PackageAdminImpl.run(PackageAdminImpl.java:350) - locked <0xa2a683b0> (a org.apache.felix.framework.PackageAdminImpl) at java.lang.Thread.run(Thread.java:662) "FelixStartLevel" daemon prio=10 tid=0x79680c00 nid=0xb3e waiting for monitor entry [0x795ad000] java.lang.Thread.State: BLOCKED (on object monitor) at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:380) - waiting to lock <0xa2a47118> (a org.apache.felix.http.base.internal.listener.HttpSessionAttributeListenerManager) at org.apache.felix.http.base.internal.HttpServiceController.unregister(HttpServiceController.java:144) at org.apache.felix.http.base.internal.AbstractHttpActivator.doStop(AbstractHttpActivator.java:52) at org.apache.felix.http.jetty.internal.JettyActivator.doStop(JettyActivator.java:39) at org.apache.felix.http.base.internal.AbstractActivator.stop(AbstractActivator.java:47) at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:651) at org.apache.felix.framework.Felix.stopBundle(Felix.java:2226) at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1202) at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264) at java.lang.Thread.run(Thread.java:662) "FelixDispatchQueue" prio=10 tid=0x79623800 nid=0xb3d in Object.wait() [0x795fe000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2a93b20> (a java.util.ArrayList) at java.lang.Object.wait(Object.java:485) at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:924) - locked <0xa2a93b20> (a java.util.ArrayList) at org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54) at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:106) at java.lang.Thread.run(Thread.java:662) "Low Memory Detector" daemon prio=10 tid=0xb6a98c00 nid=0xb3b runnable [0x00000000] java.lang.Thread.State: RUNNABLE "CompilerThread1" daemon prio=10 tid=0xb6a97000 nid=0xb3a waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE "CompilerThread0" daemon prio=10 tid=0xb6a95000 nid=0xb39 waiting on condition [0x00000000] java.lang.Thread.State: RUNNABLE "Signal Dispatcher" daemon prio=10 tid=0xb6a93400 nid=0xb38 runnable [0x00000000] java.lang.Thread.State: RUNNABLE "Finalizer" daemon prio=10 tid=0xb6a83c00 nid=0xb37 in Object.wait() [0x79f7d000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2a94078> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <0xa2a94078> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0xb6a82400 nid=0xb36 in Object.wait() [0x79bb2000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2a201a0> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:485) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0xa2a201a0> (a java.lang.ref.Reference$Lock) "main" prio=10 tid=0xb6a04000 nid=0xb32 in Object.wait() [0xb6b69000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0xa2ad2bc8> (a org.apache.felix.framework.util.ThreadGate) at org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79) - locked <0xa2ad2bc8> (a org.apache.felix.framework.util.ThreadGate) at org.apache.felix.framework.Felix.waitForStop(Felix.java:916) at org.apache.felix.main.Main.main(Main.java:295) "VM Thread" prio=10 tid=0xb6a7fc00 nid=0xb35 runnable "GC task thread#0 (ParallelGC)" prio=10 tid=0xb6a0b400 nid=0xb33 runnable "GC task thread#1 (ParallelGC)" prio=10 tid=0xb6a0cc00 nid=0xb34 runnable "VM Periodic Task Thread" prio=10 tid=0xb6a9a800 nid=0xb3c waiting on condition JNI global references: 1409 Is there an issue here ? thanks for your help; /pierre --00151758f44a4cadb104a137c66a--