On 6/23/06, James Richards <[EMAIL PROTECTED]> wrote:
Jim,
I recently had to convert to MyFaces 1.1.3 and so had to make my backing beans Serializable. The below makes it sounds like the problem is that your view is being serialized into the session [probably enabled in your web.xml] and apparently there are some nulls which the serialization cannot handle. It doesn't look like a session timeout problem at all [but I am often wrong so anyone on the list feel free to correct me].
To debug this, I would extend the AspectJ tracing example which I put up on the wiki to explicitly capture this method:
org.apache.myfaces.application.jsp.JspStateManagerImpl$SerializedViewCollection.add
and check which parameters are null, possibly pointcutting across the
JspStateManagerImpl.saveSerializedViewInServletSession
method to see at which point the serialization occurs. That should give you some insight into which components are causing the problem. If you have any transient variables in your Serializable beans, I would look at those first. It really looks like an attempt to add a null to the view serialization collection. I can offer advice on tracing MyFaces but not much else as I still find it somewhat mysterious ;).
Hope that helps,
James
-----Original Message-----
From: Jim the Standing Bear [mailto:[EMAIL PROTECTED]]
Sent: Fri 6/23/2006 3:56 PM
To: MyFaces Discussion
Subject: please help....session timeout problem!!
Hi,
We believe we are experiencing session timeout problems. The project we are
working on consists of a Tree displaying inside of a gridsphere portlet. It
works fine for about 15 minutes, and then we will be seeing a stack dump.
1. So it there a way to make the timeout period configurable?
2. Also, is there a way to renew a session?, and
3. Most importantly, is our assessment of the issue correct? That is, is
the problem indeed caused by session time out? Below is the stack dump:
An error occured!
Error message: javax.portlet.PortletException
Stack Trace:
javax.portlet.PortletException: javax.portlet.PortletException at
org.apache.myfaces.portlet.MyFacesGenericPortlet.handleExceptionFromLifecycle
(MyFacesGenericPortlet.java:253)
at
org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(
MyFacesGenericPortlet.java :399)
at
org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(
MyFacesGenericPortlet.java:265)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201) at
javax.portlet.GenericPortlet.render(GenericPortlet.java :140) at
org.gridlab.gridsphere.provider.portlet.jsr.PortletServlet.service(
PortletServlet.java:381)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (
ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(
ApplicationDispatcher.java :672)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(
ApplicationDispatcher.java:574)
at
org.apache.catalina.core.ApplicationDispatcher.include(
ApplicationDispatcher.java:499)
at
org.gridlab.gridsphere.portletcontainer.impl.SportletDispatcher.include (
SportletDispatcher.java:299)
at
org.gridlab.gridsphere.portletcontainer.impl.SportletDispatcher.service(
SportletDispatcher.java:162)
at
org.gridlab.gridsphere.portletcontainer.PortletInvoker.service(
PortletInvoker.java:187)
at
org.gridlab.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:554)
at
org.gridlab.gridsphere.layout.PortletColumnLayout.doRender(
PortletColumnLayout.java:51)
at
org.gridlab.gridsphere.layout.PortletRowLayout.doRender (
PortletRowLayout.java:37)
at
org.gridlab.gridsphere.layout.PortletTableLayout.doRender(
PortletTableLayout.java:193)
at org.gridlab.gridsphere.layout.PortletTab.doRender(PortletTab.java:259)
at
org.gridlab.gridsphere.layout.PortletTabbedPane.doRender (
PortletTabbedPane.java:330)
at org.gridlab.gridsphere.layout.PortletTab.doRender(PortletTab.java:259)
at
org.gridlab.gridsphere.layout.PortletTabbedPane.doRender(
PortletTabbedPane.java:330)
at
org.gridlab.gridsphere.layout.PortletPage.doRenderHTML (PortletPage.java:549)
at
org.gridlab.gridsphere.layout.PortletPage.doRender(PortletPage.java:452)
at
org.gridlab.gridsphere.layout.PortletLayoutEngine.service(
PortletLayoutEngine.java:106)
at
org.gridlab.gridsphere.servlets.GridSphereServlet.processRequest (
GridSphereServlet.java:270)
at
org.gridlab.gridsphere.servlets.GridSphereServlet.doGet(
GridSphereServlet.java:140)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at
javax.servlet.http.HttpServlet.service (HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java :173)
at
org.gridlab.gridsphere.filters.GridSphereFilter.doFilter(
GridSphereFilter.java:77)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
at
org.gridlab.gridsphere.filters.RequestEncodingFilter.doFilter(
RequestEncodingFilter.java:72)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (
ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java :213)
at
org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:178)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(
AuthenticatorBase.java:524)
at
org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java :282) at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754) at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt (ChannelSocket.java:876)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595) Caused by:
javax.faces.FacesException: javax.portlet.PortletException at
org.apache.myfaces.context.portlet.PortletExternalContextImpl.dispatch(
PortletExternalContextImpl.java:175)
at
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(
JspViewHandlerImpl.java:195)
at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at
org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(
MyFacesGenericPortlet.java:395)
... 50 more Caused by: javax.portlet.PortletException at
org.gridlab.gridsphere.portlet.jsrimpl.PortletRequestDispatcherImpl.include(
PortletRequestDispatcherImpl.java:62)
at
org.apache.myfaces.context.portlet.PortletExternalContextImpl.dispatch(
PortletExternalContextImpl.java :164)
... 53 more Caused by: java.lang.NullPointerException: null values not
allowed at
org.apache.commons.collections.map.AbstractReferenceMap.put(
AbstractReferenceMap.java:251)
at
org.apache.myfaces.application.jsp.JspStateManagerImpl$SerializedViewCollection.add
(JspStateManagerImpl.java:717)
at
org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedViewInServletSession
(JspStateManagerImpl.java:493)
at
org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView (
JspStateManagerImpl.java:332)
at org.apache.myfaces.taglib.core.ViewTag.doAfterBody(ViewTag.java:122) at
org.apache.jsp.tree2_jsp._jspx_meth_f_view_0(org.apache.jsp.tree2_jsp:228)
at org.apache.jsp.tree2_jsp._jspService (org.apache.jsp.tree2_jsp:181) at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:332)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at
javax.servlet.http.HttpServlet.service (HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java :173)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(
ApplicationDispatcher.java:672)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(
ApplicationDispatcher.java:574)
at
org.apache.catalina.core.ApplicationDispatcher.include (
ApplicationDispatcher.java:499)
at
org.gridlab.gridsphere.portlet.jsrimpl.PortletRequestDispatcherImpl.include(
PortletRequestDispatcherImpl.java:57)
... 54 more Nested Exception is javax.faces.FacesException :
javax.portlet.PortletException at
org.apache.myfaces.context.portlet.PortletExternalContextImpl.dispatch(
PortletExternalContextImpl.java:175)
at
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView (
JspViewHandlerImpl.java:195)
at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at
org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(
MyFacesGenericPortlet.java:395)
at
org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(
MyFacesGenericPortlet.java:265)
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201) at
javax.portlet.GenericPortlet.render(GenericPortlet.java :140) at
org.gridlab.gridsphere.provider.portlet.jsr.PortletServlet.service(
PortletServlet.java:381)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (
ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(
ApplicationDispatcher.java :672)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(
ApplicationDispatcher.java:574)
at
org.apache.catalina.core.ApplicationDispatcher.include(
ApplicationDispatcher.java:499)
at
org.gridlab.gridsphere.portletcontainer.impl.SportletDispatcher.include (
SportletDispatcher.java:299)
at
org.gridlab.gridsphere.portletcontainer.impl.SportletDispatcher.service(
SportletDispatcher.java:162)
at
org.gridlab.gridsphere.portletcontainer.PortletInvoker.service(
PortletInvoker.java:187)
at
org.gridlab.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:554)
at
org.gridlab.gridsphere.layout.PortletColumnLayout.doRender(
PortletColumnLayout.java:51)
at
org.gridlab.gridsphere.layout.PortletRowLayout.doRender (
PortletRowLayout.java:37)
at
org.gridlab.gridsphere.layout.PortletTableLayout.doRender(
PortletTableLayout.java:193)
at org.gridlab.gridsphere.layout.PortletTab.doRender(PortletTab.java:259)
at
org.gridlab.gridsphere.layout.PortletTabbedPane.doRender (
PortletTabbedPane.java:330)
at org.gridlab.gridsphere.layout.PortletTab.doRender(PortletTab.java:259)
at
org.gridlab.gridsphere.layout.PortletTabbedPane.doRender(
PortletTabbedPane.java:330)
at
org.gridlab.gridsphere.layout.PortletPage.doRenderHTML (PortletPage.java:549)
at
org.gridlab.gridsphere.layout.PortletPage.doRender(PortletPage.java:452)
at
org.gridlab.gridsphere.layout.PortletLayoutEngine.service(
PortletLayoutEngine.java:106)
at
org.gridlab.gridsphere.servlets.GridSphereServlet.processRequest (
GridSphereServlet.java:270)
at
org.gridlab.gridsphere.servlets.GridSphereServlet.doGet(
GridSphereServlet.java:140)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at
javax.servlet.http.HttpServlet.service (HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java :173)
at
org.gridlab.gridsphere.filters.GridSphereFilter.doFilter(
GridSphereFilter.java:77)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
at
org.gridlab.gridsphere.filters.RequestEncodingFilter.doFilter(
RequestEncodingFilter.java:72)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (
ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java :213)
at
org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:178)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(
AuthenticatorBase.java:524)
at
org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java :282) at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754) at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt (ChannelSocket.java:876)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595) Caused by:
javax.portlet.PortletException at
org.gridlab.gridsphere.portlet.jsrimpl.PortletRequestDispatcherImpl.include (
PortletRequestDispatcherImpl.java:62)
at
org.apache.myfaces.context.portlet.PortletExternalContextImpl.dispatch(
PortletExternalContextImpl.java:164)
... 53 more Caused by: java.lang.NullPointerException: null values not
allowed at
org.apache.commons.collections.map.AbstractReferenceMap.put(
AbstractReferenceMap.java:251)
at
org.apache.myfaces.application.jsp.JspStateManagerImpl$SerializedViewCollection.add
(JspStateManagerImpl.java :717)
at
org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedViewInServletSession
(JspStateManagerImpl.java:493)
at
org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView (
JspStateManagerImpl.java:332)
at org.apache.myfaces.taglib.core.ViewTag.doAfterBody(ViewTag.java:122) at
org.apache.jsp.tree2_jsp._jspx_meth_f_view_0(org.apache.jsp.tree2_jsp:228)
at org.apache.jsp.tree2_jsp._jspService (org.apache.jsp.tree2_jsp:181) at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:332)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at
javax.servlet.http.HttpServlet.service (HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java :173)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(
ApplicationDispatcher.java:672)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(
ApplicationDispatcher.java:574)
at
org.apache.catalina.core.ApplicationDispatcher.include (
ApplicationDispatcher.java:499)
at
org.gridlab.gridsphere.portlet.jsrimpl.PortletRequestDispatcherImpl.include(
PortletRequestDispatcherImpl.java:57)
... 54 more
--
--------------------------------------
Standing Bear Has Spoken
--------------------------------------
--
--------------------------------------
Standing Bear Has Spoken
--------------------------------------

