[jboss-jira] [JBoss JIRA] Commented: (JBREM-717) servlet invoker illegal state exception not serializable

John Mazzitelli (JIRA) jira-events at lists.jboss.org
Wed Jun 27 12:08:57 EDT 2007


    [ http://jira.jboss.com/jira/browse/JBREM-717?page=comments#action_12367041 ] 
            
John Mazzitelli commented on JBREM-717:
---------------------------------------

Something in ServletServerInvoker isn't serializable, as per:

java.io.NotSerializableException: org.jboss.remoting.transport.servlet.ServletServerInvoker 

It should be throwing a java.lang.IllegalStateException, IMO.  It doesn't need to send over the wire the entire thing that it is.

It isn't a serialVersionUID issue - both of my sides were using the same remoting jar so the auto-generated uid will be the same (besides, I believe you'd get a different exception/message if the one side's class definition had a different UID than the originator).

> servlet invoker illegal state exception not serializable
> --------------------------------------------------------
>
>                 Key: JBREM-717
>                 URL: http://jira.jboss.com/jira/browse/JBREM-717
>             Project: JBoss Remoting
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.0.0.GA (Boon)
>            Reporter: John Mazzitelli
>         Assigned To: David Lloyd
>             Fix For: 2.4.0.Beta1 (Pinto)
>
>
> I have my server-side using the servlet invoker (I'm inside JBossAS 4.0.5).  After I shutdown and try to restart, I think I might not be restarting properly.  If a client sends in a message, I get this stack trace and an HTTP 500 error comes across on the client.  Here's the server-side stack:
> 15:59:05,510 WARN  [[ServerInvokerServlet]] Servlet.service() for servlet ServerInvokerServlet threw exception
> java.io.NotSerializableException: org.jboss.remoting.transport.servlet.ServletServerInvoker
> 	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
> 	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
> 	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
> 	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
> 	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
> 	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
> 	at org.jboss.remoting.marshal.http.HTTPMarshaller.write(HTTPMarshaller.java:69)
> 	at org.jboss.remoting.transport.servlet.ServletServerInvoker.processRequest(ServletServerInvoker.java:257)
> 	at sun.reflect.GeneratedMethodAccessor183.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
> 	at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:201)
> 	at $Proxy185.processRequest(Unknown Source)
> 	at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.processRequest(ServerInvokerServlet.java:127)
> 	at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.doPost(ServerInvokerServlet.java:156)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> 	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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
> 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> 	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> 	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> 	at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
> 	at java.lang.Thread.run(Thread.java:595)
> So this IllegalStateException is thrown because something didn't get restarted.  But the fact that this IllegalStateException is defined inside the ServerInvoker object makes it not serializable (ServerInvoker.IllegalStateException is not serializable because ServerInvoker is not serializable).
> This issue is to document the fact that this exception is not serializable - the whole "restart didn't fully restart" problem is something that may be my fault.
> Recommend that you split out IllegalStateException so you can send it over the wire - or thrown a java.lang.IllegalStateException.
> This is in 2.0.0.GA.  I haven't tried to see if this is an issue in later versions.

-- 
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 jboss-jira mailing list