[jcifs] Software caused connection abort
eglass1 at comcast.net
eglass1 at comcast.net
Tue Apr 20 08:24:40 GMT 2004
> Hi Guys,
>
> Sorry to bother you again, I have been trying to figure out an error that is
> happening sporadically in our J2EE application at the Content Management System
> side. A user can view content in the CMS using our webapp and this is done via a
> stream by connecting using sockets to the CMS.
>
> The following error occurs fairly often but not reproducably when a client
> requests to view content;
>
> 04.20 08:55:46.537 IdcServerThread-2176 Error uploading file
> 'GBR0077.doc' to client.
> java.net.SocketException: Software caused connection abort: socket write error
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at intradoc.server.ServiceHttpImplementor.sendFileResponse(Unknown
> Source)
> at intradoc.server.FileService.doResponse(Unknown Source)
> at intradoc.server.Service.doRequest(Unknown Source)
> at intradoc.server.ServiceManager.processCommand(Unknown Source)
> at intradoc.server.IdcServerThread.run(Unknown Source)
>
> My question is just whether using the jCIFS NTLM filter could cause such a
> problem as the CMS vendor believes it is not their IdcServerThread and that it
> is the network somehow.
>
I don't believe this would be caused by jCIFS; the filter doesn't do any
filtering on the response output stream itself (it just passes through to
the underlying implementation).
One thing possibly to look at (I'm blue-skying at this point, since I have no
idea what the vendor software does); it appears the server may be writing to
the response from a separate thread. From section 2.3.3.3 of the servlet
spec:
Implementations of the request and response objects are not guaranteed to
be thread safe. This means that they should only be used within the scope
of the request handling thread.
References to the request and response objects must not be given to
objects executing in other threads as the resulting behavior may be
nondeterministic.
Again, I'm just making wild guesses here, but it might be something to look at.
Eric
More information about the jcifs
mailing list