Hi All,

Above issue is occurring in the  lazyUnload method in webapp-mgt. This
occurs because of not properly unloading the osgi bundles.

After having a offline chat with Azeez, We have put a simple null check
before unload the the webapp
and commit a new version of org.wso2.carbon.webapp.mgt (4.2.1) to chunk 2.
Then CEP 3.0.0 can use that as a
dependency.

As per the chat with sameera, I have added a carbon jira for this issue..
Please find the below jira ..

https://wso2.org/jira/browse/CARBON-14475

Thanks & Regards,
Mohan


On Wed, Sep 11, 2013 at 12:35 PM, Sriskandarajah Suhothayan
<[email protected]>wrote:

>
>
> 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
>
>


-- 
*V. Mohanadarshan*
*Software Engineer,*
*Data Technologies Team,*
*WSO2, Inc. http://wso2.com *
*lean.enterprise.middleware.*
*
*
email: [email protected]
phone:(+94) 771117673
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to