[ 
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

Reply via email to