• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JSP Error in carrying request parameter.

Santosh Kumar
Posts: 28
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've got a freaky problem. I have a WebSphere5.0 server running in a cluster. My JSPs which often submit to themselves, are working fine in a single server environment, but fail with following message in a clustered environment. I can't figure out why. Following is the stack trace I get in Websphere logs.
Session Object Internals:
id : BA4amSiMWihNpt6k7UWCwiZ
hashCode : 4608458
create time : Fri May 23 14:37:53 EDT 2003
last access : Fri May 23 15:24:34 EDT 2003
max inactive interval : 3600
user name : anonymous
valid session : false
new session : false
overflowed : false

non-serializable app specific session data : {}
serializable app specific session data : {}
at com.ibm.ws.webcontainer.httpsession.SessionData.getValueGuts(SessionData.java:819)
at com.ibm.ws.webcontainer.httpsession.SessionData.getValue(SessionData.java:1237)
at com.ibm.ws.webcontainer.httpsession.SessionData.getAttribute(SessionData.java:1111)
at com.softbrands.destiny.language.langTag.doAfterBody(langTag.java:59)
at org.apache.jsp._swp_5F_res._jspService(_swp_5F_res.java:2295)
at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:364)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:694)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:792)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.ServicingServletState.service(StrictLifecycleServlet.java:333)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:923)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:528)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:176)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:201)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:516)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:366)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)

Kaustubh Patil
Ranch Hand
Posts: 164
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In a clustered enviornment whatever you put in to the session needs to be serialized. All the objects that you intend to put in to the session should be serialized. This is because in this enviornment all the server instances need to communicate betwn each other and they might pass the session objects betwn them.
Try serializing the objects that you put in the session.
David Hibbs
Ranch Hand
Posts: 374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What does this line do?
It looks like it gets something from the session; it could be that this is where the original exception is getting thrown.
I've seen some strange things from WAS, but the two items I've seen do things similar to this are as follow:
1) The session got invalidated for some reason, likely your own invalidate code
2) Whatever was *in* the session implements comparable, and has a compareTo method that throws an IllegalStateException. For some reason, WAS calls compareTo on your objects. Don't ask me why; I argued with support on this for months trying to either get them to fix it or at least tell me what they were comparing me to!
They referred me to my sales rep.
Anyway, check these two items and see if you find anything.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic