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.