[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-3029) SeamPhaseListener swallowing NullPointerException

Dan Allen (JIRA) jira-events at lists.jboss.org
Fri May 23 15:45:42 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBSEAM-3029?page=comments#action_12414112 ] 
            
Dan Allen commented on JBSEAM-3029:
-----------------------------------

Could you post the Seam component that you used in your app when this exception occurred? Were you by chance injecting or holding the request parameter map in your Seam component somewhere?

The root of this exception deals with the fact that at some point the request parameter map is put into the conversation. When the session attempts to passivate, the conversation entries are visited in turn. When the map.size() method is called, it eventually leads to a Catalina null-pointer. This is exception is likely happening when the application stops or is redeployed.

> SeamPhaseListener swallowing NullPointerException
> -------------------------------------------------
>
>                 Key: JBSEAM-3029
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-3029
>             Project: Seam
>          Issue Type: Bug
>    Affects Versions: 2.0.1.GA
>         Environment: Seam 2.0.1.GA
> JBoss 4.2.1.GA
> RF3.2.0.SR1
> Windows XP 5.1 SP2
>            Reporter: asookazian
>
> Not sure what the root cause of this is, how to reproduce it, or what damage it may cause while executing use cases in the app.  As directed by Dan Allen, posting stack trace here:
> 11:42:10,468 ERROR [SeamPhaseListener] uncaught exception
> java.lang.NullPointerException
> 	at org.apache.catalina.connector.Request.parseParameters(Request.java:2409)
> 	at org.apache.catalina.connector.Request.getParameterNames(Request.java:1073)
> 	at org.apache.catalina.connector.RequestFacade.getParameterNames(RequestFacade.java:371)
> 	at javax.servlet.ServletRequestWrapper.getParameterNames(ServletRequestWrapper.java:178)
> 	at com.sun.faces.context.RequestParameterMap.getEntryIterator(ExternalContextImpl.java:1174)
> 	at com.sun.faces.context.BaseContextMap$EntrySet.iterator(ExternalContextImpl.java:575)
> 	at com.sun.faces.context.BaseContextMap$BaseSet.size(ExternalContextImpl.java:563)
> 	at java.util.Collections$UnmodifiableCollection.size(Unknown Source)
> 	at java.util.AbstractMap.size(Unknown Source)
> 	at java.util.Collections$UnmodifiableMap.size(Unknown Source)
> 	at org.jboss.seam.contexts.EntityBeanMap.passivateAll(EntityBeanMap.java:65)
> 	at org.jboss.seam.contexts.AbstractEntityBeanCollection.passivate(AbstractEntityBeanCollection.java:43)
> 	at org.jboss.seam.contexts.ServerConversationContext.isAttributeDirty(ServerConversationContext.java:307)
> 	at org.jboss.seam.contexts.ServerConversationContext.flush(ServerConversationContext.java:280)
> 	at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:371)
> 	at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:112)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:502)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:235)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:182)
> 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
> 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
> 	at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
> 	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
> 	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362)
> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Unknown Source)
> 11:42:10,468 ERROR [SeamPhaseListener] swallowing exception
> java.lang.NullPointerException
> 	at org.apache.catalina.connector.Request.parseParameters(Request.java:2409)
> 	at org.apache.catalina.connector.Request.getParameterNames(Request.java:1073)
> 	at org.apache.catalina.connector.RequestFacade.getParameterNames(RequestFacade.java:371)
> 	at javax.servlet.ServletRequestWrapper.getParameterNames(ServletRequestWrapper.java:178)
> 	at com.sun.faces.context.RequestParameterMap.getEntryIterator(ExternalContextImpl.java:1174)
> 	at com.sun.faces.context.BaseContextMap$EntrySet.iterator(ExternalContextImpl.java:575)
> 	at com.sun.faces.context.BaseContextMap$BaseSet.size(ExternalContextImpl.java:563)
> 	at java.util.Collections$UnmodifiableCollection.size(Unknown Source)
> 	at java.util.AbstractMap.size(Unknown Source)
> 	at java.util.Collections$UnmodifiableMap.size(Unknown Source)
> 	at org.jboss.seam.contexts.EntityBeanMap.passivateAll(EntityBeanMap.java:65)
> 	at org.jboss.seam.contexts.AbstractEntityBeanCollection.passivate(AbstractEntityBeanCollection.java:43)
> 	at org.jboss.seam.contexts.ServerConversationContext.isAttributeDirty(ServerConversationContext.java:307)
> 	at org.jboss.seam.contexts.ServerConversationContext.flush(ServerConversationContext.java:280)
> 	at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:371)
> 	at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:112)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:502)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:235)
> 	at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:182)
> 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
> 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
> 	at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
> 	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
> 	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362)
> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
> 	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Unknown Source)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the seam-issues mailing list