webapp.mgt lazyUnload happens 3 times per webapp when shutting down the
server (in both CEP and AS), here on the 1st two times the cleanup is
called by the carbon server shutdown hock and the 3rd time by some other
thread. In CEP on 3rd time a null pointer is thrown. since the tomcat
service is getting unregistered before the call

You can find the issue at
https://wso2.org/jira/browse/CEP-370

and following is the thread dump at the time of exception


"localhost-startStop-2@10251" daemon prio=5 tid=0x8d nid=NA runnable
  java.lang.Thread.State: RUNNABLE
      at
org.wso2.carbon.webapp.mgt.WebApplication.lazyUnload(WebApplication.java:358)
      at
org.wso2.carbon.webapp.mgt.WebApplication.lazyUnload(WebApplication.java:354)
      at
org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.lazyUnload(TomcatGenericWebappsDeployer.java:379)
      at
org.wso2.carbon.webapp.mgt.AbstractWebappDeployer.cleanup(AbstractWebappDeployer.java:259)
      at
org.apache.axis2.deployment.DeploymentEngine.cleanup(DeploymentEngine.java:1386)
      at
org.wso2.carbon.core.CarbonAxisConfigurator.cleanup(CarbonAxisConfigurator.java:449)
      at
org.apache.axis2.engine.AxisConfiguration.cleanup(AxisConfiguration.java:1438)
      at
org.apache.axis2.context.ConfigurationContext.terminate(ConfigurationContext.java:788)
      at
org.apache.axis2.transport.http.AxisServlet.destroy(AxisServlet.java:528)
      at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.destroy(ServletRegistration.java:38)
      at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.unregister(ProxyServlet.java:153)
      - locked <0x2868> (a
org.eclipse.equinox.http.servlet.HttpServiceServlet)
      at
org.eclipse.equinox.http.servlet.internal.HttpServiceImpl.unregister(HttpServiceImpl.java:88)
      - locked <0x2875> (a
org.eclipse.equinox.http.servlet.internal.HttpServiceImpl)
      at
org.wso2.carbon.core.init.CarbonServerManager.stop(CarbonServerManager.java:925)
      at
org.wso2.carbon.core.internal.CarbonCoreServiceComponent.deactivate(CarbonCoreServiceComponent.java:82)
      at
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-1)
      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.eclipse.equinox.internal.ds.model.ServiceComponent.deactivate(ServiceComponent.java:387)
      at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.deactivate(ServiceComponentProp.java:161)
      at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.dispose(ServiceComponentProp.java:389)
      at
org.eclipse.equinox.internal.ds.model.ServiceComponentProp.dispose(ServiceComponentProp.java:102)
      at
org.eclipse.equinox.internal.ds.InstanceProcess.disposeInstances(InstanceProcess.java:344)
      at
org.eclipse.equinox.internal.ds.InstanceProcess.disposeInstances(InstanceProcess.java:306)
      at
org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:368)
      at
org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
      at
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
      at
org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
      at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
      at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
      at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
      at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
      at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:225)
      at
org.eclipse.equinox.http.servlet.internal.Activator.removeProxyServlet(Activator.java:87)
      - locked <0x91d> (a java.lang.Class)
      at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.destroy(ProxyServlet.java:44)
      at
org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.destroy(DelegationServlet.java:43)
      at
org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1465)
      - locked <0x286a> (a org.apache.catalina.core.StandardWrapper)
      at
org.apache.catalina.core.StandardWrapper.stopInternal(StandardWrapper.java:1823)
      at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
      at
org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5463)
      - locked <0x286b> (a org.apache.catalina.core.StandardContext)
      at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
      at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
      at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
      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:662)


Thanks
Suho
-- 
*S. Suhothayan
*
Associate Technical Lead,
 *WSO2 Inc. *http://wso2.com *
 <http://wso2.com/>*
lean . enterprise . middleware

*cell: (+94) 779 756 757 | blog: http://suhothayan.blogspot.com/
twitter: http://twitter.com/suhothayan | linked-in:
http://lk.linkedin.com/in/suhothayan*
*
*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to