You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Miguel Ping (JIRA)" <ji...@apache.org> on 2008/02/26 18:39:07 UTC

[jira] Created: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Sample portlet application throws NPE when undeploying from Jboss
-----------------------------------------------------------------

                 Key: WW-2509
                 URL: https://issues.apache.org/struts/browse/WW-2509
             Project: Struts 2
          Issue Type: Bug
    Affects Versions: 2.0.11
         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
            Reporter: Miguel Ping


When undeploying from Jboss portal, the sample portlet throws the following exception:

16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
java.lang.NullPointerException
	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy214.undeploy(Unknown Source)
	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
	at $Proxy217.handleNotification(Unknown Source)
	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy195.stop(Unknown Source)
	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy9.undeploy(Unknown Source)
	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
java.lang.NullPointerException
	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy214.undeploy(Unknown Source)
	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
	at $Proxy217.handleNotification(Unknown Source)
	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy195.stop(Unknown Source)
	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
	at $Proxy9.undeploy(Unknown Source)
	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)

My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.

As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Wes Wannemacher (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43387#action_43387 ] 

Wes Wannemacher commented on WW-2509:
-------------------------------------

Which version of the portlet plugin are you using? I couldn't seem to get the line numbers in your stack trace to match up with the code... Plus, I don't see a portlet plugin tagged for version 2.0.11 -
https://svn.apache.org/viewvc/struts/struts2/tags/STRUTS_2_0_11/plugins/

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Nils-Helge Garli (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43457#action_43457 ] 

Nils-Helge Garli commented on WW-2509:
--------------------------------------

I have already created a new issue for this: WW-2523

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>             Fix For: 2.1.1
>
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Miguel Ping (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43456#action_43456 ] 

Miguel Ping commented on WW-2509:
---------------------------------

Thanks for the reply, guys.
I am also using the portlet support on my own apps, and unfurtonately I use both Jsr168Dispatcher and FilterDispatcher. I use them both because I use the jsr dispatcher for 'plain' portlet dispatching and use the filter dispatcher for servlet dispatching; I intermix both because the servlet is used to support regular ajax calls that come from the portlet.

Is it possible to reopen this bug, or the jsr dispatcher is not supposed to be used in conjunction with the filter dispatcher?

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>             Fix For: 2.1.1
>
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Nils-Helge Garli (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43431#action_43431 ] 

Nils-Helge Garli commented on WW-2509:
--------------------------------------

Portlet support was extracted to a plugin in 2.1. In 2.0.11 it's part of the core.

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Miguel Ping (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43422#action_43422 ] 

Miguel Ping commented on WW-2509:
---------------------------------

Thanks for the quick reply. Any update on the NPE?

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Nils-Helge Garli (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43432#action_43432 ] 

Nils-Helge Garli commented on WW-2509:
--------------------------------------

If I have the correct code in my IDE, it looks like the ThreadLocal (the actual ThreadLocal, not it's contained value) in the Dispatcher (line 268: http://svn.apache.org/viewvc/struts/struts2/tags/STRUTS_2_0_11/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?view=annotate) has gone null?....  I have no idea how that's possible (am I looking at the wrong place??)

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Miguel Ping (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43393#action_43393 ] 

Miguel Ping commented on WW-2509:
---------------------------------

I downloaded the "example applications" zip from 2.0.11 release: http://struts.apache.org/download.cgi#struts210 and deployed the portlet application that comes in the apps zip file. By the way, I had to remove the commons-logging jar (commons-logging-1.0.4.jar) file from the portlet application's war file because it was conflicting with my jboss app:

10:36:08,789 ERROR [STDERR] Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy.  You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy.  You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.) (Caused by org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy.  You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy.  You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.)).

But you're right, there's no portlet plugin tagged for 2.0.11.
I'm also using struts2+portlet plugin for another application, and the failure to undeploy is causing me a PermGen after 3 or 4 deploys, because each time I try to undeploy an application, I'm guessing the NPE is preventing the app from being fully destroyed.


> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Nils-Helge Garli (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43433#action_43433 ] 

Nils-Helge Garli commented on WW-2509:
--------------------------------------

It appears that the cleanup happens twice, once for the FilterDispatcher and once for the Jsr168Dispatcher. The second time around, the ThreadLocal is null. I have no idea why the thread local is null the second time cleanup is invoked, but the simple solution is to remove the filterdispatcher from the sample app, as it's not used anymore.

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Wes Wannemacher (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43409#action_43409 ] 

Wes Wannemacher commented on WW-2509:
-------------------------------------

I didn't check in the 'apps,' I'll pull that code down and see if I can fix the NPE tonight. 

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Wes Wannemacher (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43423#action_43423 ] 

Wes Wannemacher commented on WW-2509:
-------------------------------------

Sorry Miguel, I didn't get a chance to check it out last night. I will try to get it fixed tonight.

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (WW-2509) Sample portlet application throws NPE when undeploying from Jboss

Posted by "Nils-Helge Garli (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/struts/browse/WW-2509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nils-Helge Garli resolved WW-2509.
----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.1.1

Removed the filter dispatcher from web.xml

> Sample portlet application throws NPE when undeploying from Jboss
> -----------------------------------------------------------------
>
>                 Key: WW-2509
>                 URL: https://issues.apache.org/struts/browse/WW-2509
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.11
>         Environment: Jboss Portal 2.6.3 + Jboss AS, Struts2 2.0.11
>            Reporter: Miguel Ping
>             Fix For: 2.1.1
>
>
> When undeploying from Jboss portal, the sample portlet throws the following exception:
> 16:56:25,497 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> 16:56:25,498 ERROR [org_apache_struts2_portlet_dispatcher_Jsr168Dispatcher] The portlet threw a runtime exception
> java.lang.NullPointerException
> 	at org.apache.struts2.dispatcher.Dispatcher.cleanup(Dispatcher.java:268)
> 	at org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.destroy(Jsr168Dispatcher.java:584)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.destroyPortlet(PortletContainerImpl.java:378)
> 	at org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.stop(PortletContainerImpl.java:292)
> 	at org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl.stopPortletApplication(PortletApplicationContextImpl.java:156)
> 	at org.jboss.portal.portlet.deployment.jboss.PortletAppDeployment.destroy(PortletAppDeployment.java:237)
> 	at org.jboss.portal.server.deployment.jboss.DeploymentContext.destroy(DeploymentContext.java:125)
> 	at org.jboss.portal.server.deployment.jboss.PortalDeploymentInfoContext.destroy(PortalDeploymentInfoContext.java:237)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.destroy(ServerDeployer.java:235)
> 	at org.jboss.deployment.MainDeployer.destroy(MainDeployer.java:704)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:639)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy214.undeploy(Unknown Source)
> 	at org.jboss.portal.server.deployment.jboss.ServerDeployer.undeploy(ServerDeployer.java:270)
> 	at org.jboss.portal.server.deployment.WebAppAdapter.undeploy(WebAppAdapter.java:65)
> 	at org.jboss.portal.server.deployment.WebAppIntercepter.handleNotification(WebAppIntercepter.java:170)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:153)
> 	at $Proxy217.handleNotification(Unknown Source)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.handleNotification(JBossNotificationBroadcasterSupport.java:127)
> 	at org.jboss.mx.util.JBossNotificationBroadcasterSupport.sendNotification(JBossNotificationBroadcasterSupport.java:108)
> 	at org.jboss.deployment.SubDeployerSupport.emitNotification(SubDeployerSupport.java:340)
> 	at org.jboss.deployment.SubDeployerSupport.stop(SubDeployerSupport.java:319)
> 	at org.jboss.web.AbstractWebContainer.stop(AbstractWebContainer.java:509)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
> 	at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
> 	at org.jboss.wsf.container.jboss42.DeployerInterceptor.stop(DeployerInterceptor.java:98)
> 	at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.stop(SubDeployerInterceptorSupport.java:196)
> 	at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:99)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy195.stop(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.stop(MainDeployer.java:667)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:638)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:632)
> 	at org.jboss.deployment.MainDeployer.undeploy(MainDeployer.java:615)
> 	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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
> 	at $Proxy9.undeploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.undeploy(URLDeploymentScanner.java:450)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:570)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
> My humble guess is that both Jsr168Dispatcher and Dispatcher are cleaning the context; so the last one being called gets a null reference because the previous dispatcher already performed the clean.
> As a side note, if you are not able to depoy on jboss, please remove the commons-logging jar from the sample portlet war file.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.