[jcifs] Connection Reset during jcifs data transfer .......
pasquale semeraro
pasquale_semeraro at yahoo.it
Thu Aug 30 08:17:45 GMT 2007
hello,
I am using jcifs-1.2.17
When I transfer data with jcifs from host A(winXP) to host B(win2k) and
after a while, in another process, try to access to the same host B from host A
without jcifs, the jcifs data transfer return the following error :
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at jcifs.util.transport.Transport.readn(Transport.java:29)
at jcifs.smb.SmbTransport.peekKey(SmbTransport.java:355)
at jcifs.util.transport.Transport.loop(Transport.java:100)
at jcifs.util.transport.Transport.run(Transport.java:265)
at java.lang.Thread.run(Thread.java:534)
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
[Ljava.lang.StackTraceElement;@b9b5381
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at jcifs.smb.SmbTransport.doSend(SmbTransport.java:417)
at jcifs.util.transport.Transport.sendrecv(Transport.java:70)
at jcifs.smb.SmbTransport.send(SmbTransport.java:606)
at jcifs.smb.SmbSession.send(SmbSession.java:239)
at jcifs.smb.SmbTree.send(SmbTree.java:109)
at jcifs.smb.SmbFile.send(SmbFile.java:695)
at jcifs.smb.SmbFileOutputStream.writeDirect(SmbFileOutputStream.java:241)
at jcifs.smb.SmbFileOutputStream.write(SmbFileOutputStream.java:212)
..
I have captured the last jcifs "Write AndX Request" with ethereal ......
5715 1.060709 130.1.86.180 130.1.86.160 SMB Write AndX Request, FID: 0x000b, 4096 bytes at offset 57344
5716 1.079043 130.1.86.180 130.1.86.160 TCP 1164 > microsoft-ds [SYN] Seq=0 Len=0 MSS=1460
5717 1.079103 130.1.86.160 130.1.86.180 TCP microsoft-ds > 1164 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460
5718 1.079175 130.1.86.180 130.1.86.160 TCP 1165 > netbios-ssn [SYN] Seq=0 Len=0 MSS=1460
5719 1.079204 130.1.86.160 130.1.86.180 TCP netbios-ssn > 1165 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1460
5720 1.079336 10.100.0.180 130.1.86.160 TCP 1166 > netbios-ssn [SYN] Seq=0 Len=0 MSS=1460
5721 1.079371 130.1.86.180 130.1.86.160 TCP 1164 > microsoft-ds [ACK] Seq=1 Ack=1 Win=65535 Len=0
5722 1.079374 130.1.86.180 130.1.86.160 TCP 1165 > netbios-ssn [ACK] Seq=1 Ack=1 Win=65535 Len=0
5723 1.079376 130.1.86.180 130.1.86.160 TCP 1165 > netbios-ssn [RST] Seq=1 Len=0
5724 1.079509 130.1.86.180 130.1.86.160 SMB Negotiate Protocol Request
5725 1.079715 130.1.86.160 130.1.86.180 SMB Negotiate Protocol Response
5726 1.085140 130.1.86.180 130.1.86.160 SMB Session Setup AndX Request, NTLMSSP_NEGOTIATE
5727 1.085248 130.1.86.160 130.1.86.180 TCP microsoft-ds > 1162 [RST] Seq=59929 Len=0
5728 1.085306 10.100.0.180 130.1.86.160 TCP 1166 > netbios-ssn [RST] Seq=1 Len=0
5729 1.223473 130.1.86.160 130.1.86.180 TCP microsoft-ds > 1164 [ACK] Seq=90 Ack=320 Win=65216 [TCP CHECKSUM INCORRECT] Len=0
5730 1.224834 130.1.86.160 130.1.86.180 SMB Session Setup AndX Response, NTLMSSP_CHALLENGE, Error: STATUS_MORE_PROCESSING_REQUIRED
5731 1.225302 130.1.86.180 130.1.86.160 SMB Session Setup AndX Request, NTLM
..................
the following code reproduce the same error :
thread 1:
.............
m_out=new SmbFileOutputStream( new SmbFile("smb://ntdom;user:pass@192.168.6.23/Efesto/dueore.wav"));
byte[] buff = new byte[4096];
FileInputStream input = new FileInputStream("c:/Efesto/dueore.wav");
for(;;)
{
int n=input.read(buff);
if(n<=0)
break;
m_out.write(buff,0,n);
}
m_out.close();
............
thread 2:
..........
Thread.sleep(10000);
new File("//192.168.6.23/Efesto", "Job_prova").exists();
.........
Any
idea?
Thanks in advance,
Pasquale
---------------------------------
---------------------------------
L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail
-------------- next part --------------
HTML attachment scrubbed and removed
More information about the jcifs
mailing list