[jcifs] [error] jcifs HTTP NTLM authentication filter - Connectionrese t by peer: JVM_recv.........

Michael B Allen mba2000 at ioplex.com
Tue Nov 11 12:10:43 EST 2003

Hi Russ,

We have seen reports of this error. It is a low level socket error that
occurs when the remote host (the domain contoller) closes the socket at
it's end. Normally JCIFS closes the socket from it's end if the transport
is idle for jcifs.smb.client.soTimeout which the Filter set's to 10
minutes. It is not known why the remote host closes it's socket but it
does not appear to happn often so generally it is believed to be harmless.
JCIFS will just reconnect as necessary. I should probably isolate the
event and not print anything to the log stream about it. For now I can
recommend that you proceed. There have been no reports that the excpetion
has any impact on the performance of the Filter. But we would be delighted
to hear from you again if you have anything to add.


> I've setup an jcifs HTTP NTLM authentication filter for my webapp...I get
> the error seen below.....I'm not sure why I'm receiving this error....has
> anyone else seen this error before......I know the filter is working
> because
> I can call .getRemoteUser without any problems.......I would hate to put
> this into production with this sporadic error showing up....Any ideas
> anyone????
> Thanks for your help!
> Russ
> 11:39:09,983 ERROR [STDERR] java.net.SocketException: Connection reset by
> peer: JVM_recv in socket input stream read
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:116)
>         at
> jcifs.netbios.SessionServicePacket.readPacketType(SessionServicePacket.java:
> 68)
>         at jcifs.netbios.SocketInputStream.read(SocketInputStream.java:73)
>         at jcifs.netbios.SocketInputStream.read(SocketInputStream.java:39)
>         at java.io.FilterInputStream.read(FilterInputStream.java:66)
>         at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
>         at jcifs.smb.SmbTransport.run(SmbTransport.java:322)
>         at java.lang.Thread.run(Thread.java:536)

A program should be written to  model the concepts of the task it
performs rather than the physical world or a process because this
maximizes the  potential for it  to be applied  to tasks that are
conceptually similar and, more  important, to tasks that have not
yet been conceived.

More information about the jcifs mailing list