On the grounds that the socket transport descends from the PooledInvoker, and assuming that no one will bother checking, I just say, whenever anything odd surfaces, "Blame Bill Burke".  :)

-Ron

Adrian Brock wrote:
On Tue, 2010-02-16 at 18:14 +0530, Jaikiran Pai wrote:
  
Ron Sigal wrote:
    
Yeah, Carlo also pointed out that NCDFE is a java.lang.Error, which, 
as you note, is not caught.  I agree that if ServerThread is going to 
terminate due to an error, then it should certainly close its socket, 
so that's a bug (JBREM-1183 "ServerThread should catch 
java.lang.Error").  But I have mixed feelings about terminating 
ServerThread in this case.  Unlike, IOException, SocketException, 
etc., the NoClassDefFoundError doesn't suggest that the socket is no 
longer usable.  Maybe a better solution (along with fixing the 
classloader problem, of course) is to use a positive timeout on the 
client side.
      
I think some (sensible) default timeout needs to be added so that the 
client does not end up hung. Is this something that can be added to some 
*-jboss-beans.xml in the AS?

    

It already exists, but whether 30 minutes is a "sensible" default
is a different issue. ;-)

See remoting-jboss-beans.xml

            
            <!-- Socket read timeout.  Defaults to 60000 ms (1 minute)
-->
            <!-- on the server, 1800000 ms (30 minutes) on the client.
-->
            <!--entry><key>timeout</key> <value>120000</value></entry-->