[ https://issues.apache.org/jira/browse/FELIX-2924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Derek Baum closed FELIX-2924. ----------------------------- patch fix on trunk resolves issue. Thanks > bundle stop hangs for http-2.2.0 in felix-3.2.0 > ----------------------------------------------- > > Key: FELIX-2924 > URL: https://issues.apache.org/jira/browse/FELIX-2924 > Project: Felix > Issue Type: Bug > Components: Framework > Affects Versions: framework-3.2.0 > Environment: Mac OSX java version "1.6.0_24" > Reporter: Derek Baum > Assignee: Richard S. Hall > Fix For: framework-3.2.1 > > > stopping http jetty 2.2.0 hangs framework. > it is fine with http jetty 2.0.4 in framework 3.2.0 > or with http jetty 2.2.0 in framework 3.0.9 > $ cd felix-framework-3.2.0 > $ java -jar bin/felix.jar > ____________________________ > Welcome to Apache Felix Gogo > g! [INFO] Started jetty 6.1.x at port(s) HTTP:8080 > 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 Gogo Command (0.8.0) > 3|Active | 1|Apache Felix Gogo Runtime (0.8.0) > 4|Active | 1|Apache Felix Gogo Shell (0.8.0) > 5|Active | 1|Apache Felix Http Jetty (2.2.0) > g! stop 5 > [ HANGS HERE ] > THREAD DUMP: > ^\2011-04-20 19:07:35 > Full thread dump Java HotSpot(TM) 64-Bit Server VM (19.1-b02-334 mixed mode): > "Timer-0" daemon prio=5 tid=102a5f000 nid=0x10ac9c000 in Object.wait() > [10ac9b000] > java.lang.Thread.State: TIMED_WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f30aa0d0> (a java.util.TaskQueue) > at java.util.TimerThread.mainLoop(Timer.java:509) > - locked <7f30aa0d0> (a java.util.TaskQueue) > at java.util.TimerThread.run(Timer.java:462) > "Poller SunPKCS11-Darwin" daemon prio=1 tid=1019c0800 nid=0x10ab99000 waiting > on condition [10ab98000] > java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692) > at java.lang.Thread.run(Thread.java:680) > "918201446@qtp-896472140-0" prio=5 tid=1029cf800 nid=0x10a93c000 in > Object.wait() [10a93b000] > java.lang.Thread.State: TIMED_WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f42b2040> (a > org.mortbay.thread.QueuedThreadPool$PoolThread) > at > org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:626) > - locked <7f42b2040> (a > org.mortbay.thread.QueuedThreadPool$PoolThread) > "Jetty HTTP Service" daemon prio=5 tid=1029cd000 nid=0x10a839000 in > Object.wait() [10a837000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f437f998> (a [Ljava.lang.Object;) > at java.lang.Object.wait(Object.java:485) > at org.apache.felix.framework.Felix.acquireBundleLock(Felix.java:4930) > - locked <7f437f998> (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 <7f4344008> (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 <7f42f4cb0> (a java.lang.Object) > at > org.mortbay.jetty.servlet.ServletHandler.doStop(ServletHandler.java:174) > - locked <7f42f49c8> (a org.mortbay.jetty.servlet.ServletHandler) > at > org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76) > - locked <7f42f4a38> (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 <7f42f51a8> (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 <7f42f4890> (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 <7f42f1d30> (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:680) > "Gogo shell" daemon prio=5 tid=102ab8800 nid=0x10a736000 waiting for monitor > entry [10a733000] > java.lang.Thread.State: BLOCKED (on object monitor) > at org.osgi.util.tracker.ServiceTracker.close(ServiceTracker.java:380) > - waiting to lock <7f4344008> (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.BundleImpl.stop(BundleImpl.java:963) > at org.apache.felix.gogo.command.Basic.stop(Basic.java:817) > 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.Console.run(Console.java:62) > 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:680) > "FelixPackageAdmin" daemon prio=5 tid=102a6c000 nid=0x10a623000 in > Object.wait() [10a622000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f43306d0> (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 <7f43306d0> (a org.apache.felix.framework.PackageAdminImpl) > at java.lang.Thread.run(Thread.java:680) > "FelixStartLevel" daemon prio=5 tid=102ac0000 nid=0x10a520000 in > Object.wait() [10a51f000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f4340e10> (a java.util.ArrayList) > at java.lang.Object.wait(Object.java:485) > at > org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:242) > - locked <7f4340e10> (a java.util.ArrayList) > at java.lang.Thread.run(Thread.java:680) > "FelixDispatchQueue" prio=5 tid=102900000 nid=0x10a401000 in Object.wait() > [10a400000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f4340fc8> (a java.util.ArrayList) > at java.lang.Object.wait(Object.java:485) > at > org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:924) > - locked <7f4340fc8> (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:680) > "Low Memory Detector" daemon prio=5 tid=101830000 nid=0x109f90000 runnable > [00000000] > java.lang.Thread.State: RUNNABLE > "CompilerThread1" daemon prio=9 tid=10182f000 nid=0x109e8d000 waiting on > condition [00000000] > java.lang.Thread.State: RUNNABLE > "CompilerThread0" daemon prio=9 tid=10182e800 nid=0x109d8a000 waiting on > condition [00000000] > java.lang.Thread.State: RUNNABLE > "Signal Dispatcher" daemon prio=9 tid=10182d800 nid=0x109c87000 waiting on > condition [00000000] > java.lang.Thread.State: RUNNABLE > "Surrogate Locker Thread (CMS)" daemon prio=5 tid=102886800 nid=0x109b84000 > waiting on condition [00000000] > java.lang.Thread.State: RUNNABLE > "Finalizer" daemon prio=8 tid=10287e000 nid=0x1097fc000 in Object.wait() > [1097fb000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f4341540> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) > - locked <7f4341540> (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=10287d000 nid=0x1096f9000 in > Object.wait() [1096f8000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f42b0210> (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 <7f42b0210> (a java.lang.ref.Reference$Lock) > "main" prio=5 tid=102801000 nid=0x100601000 in Object.wait() [100600000] > java.lang.Thread.State: WAITING (on object monitor) > at java.lang.Object.wait(Native Method) > - waiting on <7f4341648> (a > org.apache.felix.framework.util.ThreadGate) > at > org.apache.felix.framework.util.ThreadGate.await(ThreadGate.java:79) > - locked <7f4341648> (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=9 tid=102878800 nid=0x1095f6000 runnable > "Gang worker#0 (Parallel GC Threads)" prio=9 tid=102802800 nid=0x10176a000 > runnable > "Gang worker#1 (Parallel GC Threads)" prio=9 tid=102803000 nid=0x102301000 > runnable > "Concurrent Mark-Sweep GC Thread" prio=9 tid=10284d800 nid=0x109302000 > runnable > "VM Periodic Task Thread" prio=10 tid=101841800 nid=0x10a093000 waiting on > condition > "Exception Catcher Thread" prio=10 tid=102801800 nid=0x100704000 runnable > JNI global references: 947 > Heap > par new generation total 19136K, used 3672K [7f3000000, 7f44c0000, > 7f44c0000) > eden space 17024K, 13% used [7f3000000, 7f3249bb8, 7f40a0000) > from space 2112K, 62% used [7f42b0000, 7f43fc778, 7f44c0000) > to space 2112K, 0% used [7f40a0000, 7f40a0000, 7f42b0000) > concurrent mark-sweep generation total 63872K, used 0K [7f44c0000, > 7f8320000, 7fae00000) > concurrent-mark-sweep perm gen total 21248K, used 10352K [7fae00000, > 7fc2c0000, 800000000) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira