[jboss-remoting-issues] [JBoss JIRA] (JBREM-738) ServerThread/invoker still executing invocation after its related TransportServer was stopped

Ron Sigal (Closed) (JIRA) jira-events at lists.jboss.org
Mon Nov 21 19:30:41 EST 2011


     [ https://issues.jboss.org/browse/JBREM-738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ron Sigal closed JBREM-738.
---------------------------

    Resolution: Won't Fix

    
> ServerThread/invoker still executing invocation after its related TransportServer was stopped
> ---------------------------------------------------------------------------------------------
>
>                 Key: JBREM-738
>                 URL: https://issues.jboss.org/browse/JBREM-738
>             Project: JBoss Remoting
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: transporter
>    Affects Versions: 2.4.0.Beta1 (Pinto)
>         Environment: java 1.5 on solaris but doubt its specific to this one. 
>            Reporter: craig bordelon
>             Fix For: 2.5.3.Beta (Flounder)
>
>
> get an exception on the third iteration of a transporter client to a transporter server where the client code is doing the same invoke each time. This should not happen as the first two iterations give correct result. The exception is thrown from the server side as apparently the jboss remoting internals are confused -- stating that a ServerInvoker is not in "started state".
> Exception is
> java.lang.reflect.UndeclaredThrowableException
>         at $Proxy4.toString(Unknown Source)
>         at java.lang.String.valueOf(String.java:2615)
>         at java.lang.StringBuilder.append(StringBuilder.java:116)
>         at proxy.Client.testClientCall(Client.java:38)
>         at proxy.Client.main(Client.java:115)
> Caused by: org.jboss.remoting.ServerInvoker$InvalidStateException: Can not proc
> ess invocation request since is not in started state.
>         at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:751)
>         at org.jboss.remoting.transport.socket.ServerThread.processInvocation(S
> erverThread.java:568)
>         at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.
> java:390)
>         at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.ja
> va:164)
>         at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClient
> Invoker.java:163)
>         at org.jboss.remoting.Client.invoke(Client.java:1548)
>         at org.jboss.remoting.Client.invoke(Client.java:534)
>         at org.jboss.remoting.Client.invoke(Client.java:522)
>         at org.jboss.remoting.transporter.TransporterClient.invoke(TransporterC
> lient.java:297)
> to reproduce  this (one way at least):
> run the transporter sample modified for the Client to execute the the makeClientCall multiple times.
> Now 
> to get past the obvious first issue (socket in use) add new code for
>     customerProcessor.releaseCustomer(processedCustomer.getCustomerId()
> in the Client just before the 
>       TransporterClient.destroyTransporterClient(customerProcessor);
> Implement this method in the CustomerProcessorImpl to use the id to locate (eg hash get())  the related ICustomer TransporterClient and destroy it and to the TransporterServer to stop it.
> This theoretically frees up the Customer "server" allowing for the next iteration by the Client.
> note that the processCustomer() implemenation is modified to store the TransporterClient and TransporterServer that are created here.
> ------------
> I dug into the code a bit and what i gathered is that a ServerThread is trying to do processInvocation using a SocketServerInvoker that was already "stopped". I think the ServerThread itself should not be executing as the TransporterServer it should be involved with was already stopped.
> I posted to the jboss forum on issues i was having trying to make the transporter sample run from the client multiple times. See issue by "bord" on 4/17/2007

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-remoting-issues mailing list