Bruce Schuchardt created GEODE-2724:
---------------------------------------

             Summary: NPE shutting down locator
                 Key: GEODE-2724
                 URL: https://issues.apache.org/jira/browse/GEODE-2724
             Project: Geode
          Issue Type: Bug
          Components: pulse
            Reporter: Bruce Schuchardt


Locator shutdown threw an NPE when stopping a Jetty server in Pulse code:

{code}
[warning 2017/03/28 08:56:25.493 IST locator1 <Thread-22> tid=0x4a] Failed to 
stop the HTTP service because: null
java.lang.NullPointerException
    at 
org.apache.geode.tools.pulse.internal.data.Repository.removeAllClusters(Repository.java:225)
    at 
org.apache.geode.tools.pulse.internal.PulseAppListener.contextDestroyed(PulseAppListener.java:84)
    at 
org.eclipse.jetty.server.handler.ContextHandler.callContextDestroyed(ContextHandler.java:843)
    at 
org.eclipse.jetty.servlet.ServletContextHandler.callContextDestroyed(ServletContextHandler.java:543)
    at 
org.eclipse.jetty.server.handler.ContextHandler.stopContext(ContextHandler.java:824)
    at 
org.eclipse.jetty.servlet.ServletContextHandler.stopContext(ServletContextHandler.java:353)
    at 
org.eclipse.jetty.webapp.WebAppContext.stopWebapp(WebAppContext.java:1385)
    at 
org.eclipse.jetty.webapp.WebAppContext.stopContext(WebAppContext.java:1349)
    at 
org.eclipse.jetty.server.handler.ContextHandler.doStop(ContextHandler.java:872)
    at 
org.eclipse.jetty.servlet.ServletContextHandler.doStop(ServletContextHandler.java:269)
    at org.eclipse.jetty.webapp.WebAppContext.doStop(WebAppContext.java:541)
    at 
org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at 
org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143)
    at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:161)
    at 
org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73)
    at 
org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at 
org.eclipse.jetty.util.component.ContainerLifeCycle.stop(ContainerLifeCycle.java:143)
    at 
org.eclipse.jetty.util.component.ContainerLifeCycle.doStop(ContainerLifeCycle.java:161)
    at 
org.eclipse.jetty.server.handler.AbstractHandler.doStop(AbstractHandler.java:73)
    at org.eclipse.jetty.server.Server.doStop(Server.java:476)
    at 
org.eclipse.jetty.util.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:89)
    at 
org.apache.geode.management.internal.ManagementAgent.stopHttpService(ManagementAgent.java:328)
    at 
org.apache.geode.management.internal.ManagementAgent.stopAgent(ManagementAgent.java:156)
    at 
org.apache.geode.management.internal.SystemManagementService.close(SystemManagementService.java:265)
    at 
org.apache.geode.management.internal.beans.ManagementAdapter.handleCacheRemoval(ManagementAdapter.java:735)
    at 
org.apache.geode.management.internal.beans.ManagementListener.handleEvent(ManagementListener.java:117)
    at 
org.apache.geode.distributed.internal.InternalDistributedSystem.notifyResourceEventListeners(InternalDistributedSystem.java:2146)
    at 
org.apache.geode.distributed.internal.InternalDistributedSystem.handleResourceEvent(InternalDistributedSystem.java:536)
    at 
org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:2149)
    at 
org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1314)
    at 
org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:964)
    at 
org.apache.geode.management.internal.beans.MemberMBeanBridge$1.run(MemberMBeanBridge.java:1000)
    at java.lang.Thread.run(Thread.java:745)

[error 2017/03/28 08:56:25.494 IST locator1 <Thread-22> tid=0x4a] Failed to 
properly release resources held by the HTTP service: !STOPPED
java.lang.IllegalStateException: !STOPPED
    at 
org.eclipse.jetty.server.handler.HandlerWrapper.destroy(HandlerWrapper.java:134)
    at 
org.apache.geode.management.internal.ManagementAgent.stopHttpService(ManagementAgent.java:333)
    at 
org.apache.geode.management.internal.ManagementAgent.stopAgent(ManagementAgent.java:156)
    at 
org.apache.geode.management.internal.SystemManagementService.close(SystemManagementService.java:265)
    at 
org.apache.geode.management.internal.beans.ManagementAdapter.handleCacheRemoval(ManagementAdapter.java:735)
    at 
org.apache.geode.management.internal.beans.ManagementListener.handleEvent(ManagementListener.java:117)
    at 
org.apache.geode.distributed.internal.InternalDistributedSystem.notifyResourceEventListeners(InternalDistributedSystem.java:2146)
    at 
org.apache.geode.distributed.internal.InternalDistributedSystem.handleResourceEvent(InternalDistributedSystem.java:536)
    at 
org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:2149)
    at 
org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1314)
    at 
org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:964)
    at 
org.apache.geode.management.internal.beans.MemberMBeanBridge$1.run(MemberMBeanBridge.java:1000)
    at java.lang.Thread.run(Thread.java:745)
{code}

the locator shut down okay but dangling Jetty threads kept it from exiting:

{code}
"qtp222330055-72" #72 prio=5 os_prio=0 tid=0x00007fe214031800 nid=0x954 waiting 
on condition [0x00007fe191b34000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000707c18858> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at 
org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:392)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:546)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.access$800(QueuedThreadPool.java:47)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:609)
        at java.lang.Thread.run(Thread.java:745)

"qtp222330055-71" #71 prio=5 os_prio=0 tid=0x00007fe1f404f800 nid=0x953 waiting 
on condition [0x00007fe1d50bb000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000707c18858> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at 
org.eclipse.jetty.util.BlockingArrayQueue.poll(BlockingArrayQueue.java:392)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.idleJobPoll(QueuedThreadPool.java:546)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.access$800(QueuedThreadPool.java:47)
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:609)
        at java.lang.Thread.run(Thread.java:745)
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to