smbj icon indicating copy to clipboard operation
smbj copied to clipboard

Connec to the server : SMB2_SESSION_SETUP with message id << 1 >> as transport is disconnected

Open MilosSvrcek opened this issue 4 years ago • 4 comments
trafficstars

Hi, I am connecting to the Linux server, but some times i have issue below. It is happening by the second connect. After starting the application, first connecting is right (without error ) but second not. Another connections to the server is right (over 200 connections).

The app is a java service running on Linux, which is connecting to another servers.

Thank you for help or some information about Error logs.

Error :

Session session = dstCon.authenticate(ac2); ERROR 1 : [Packet Reader for srv1] INFO com.hierynomus.smbj.transport.PacketReader - PacketReader error, got exception. com.hierynomus.protocol.transport.TransportException: java.io.EOFException: EOF while reading packet at com.hierynomus.smbj.transport.tcp.direct.DirectTcpPacketReader.readFully(DirectTcpPacketReader.java:72) at com.hierynomus.smbj.transport.tcp.direct.DirectTcpPacketReader.readTcpHeader(DirectTcpPacketReader.java:59) at com.hierynomus.smbj.transport.tcp.direct.DirectTcpPacketReader.doRead(DirectTcpPacketReader.java:48) at com.hierynomus.smbj.transport.PacketReader.readPacket(PacketReader.java:70) at com.hierynomus.smbj.transport.PacketReader.run(PacketReader.java:48) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.EOFException: EOF while reading packet ... 6 more

ERROR 2 : com.hierynomus.smbj.common.SMBRuntimeException: com.hierynomus.protocol.transport.TransportException: Cannot write SMB2_SESSION_SETUP with message id << 1 >> as transport is disconnected at com.hierynomus.smbj.connection.Connection.authenticate(Connection.java:215) at test.service.runJob(jobs.java:115) at java.lang.Thread.run(Thread.java:748) Caused by: com.hierynomus.protocol.transport.TransportException: Cannot write SMB2_SESSION_SETUP with message id << 1 >> as transport is disconnected at com.hierynomus.smbj.transport.tcp.direct.DirectTcpTransport.write(DirectTcpTransport.java:68) at com.hierynomus.smbj.connection.Connection.send(Connection.java:297) at com.hierynomus.smbj.connection.Connection.sendAndReceive(Connection.java:305) at com.hierynomus.smbj.connection.Connection.initiateSessionSetup(Connection.java:244) at com.hierynomus.smbj.connection.Connection.authenticate(Connection.java:181) ... 4 more

MilosSvrcek avatar Jan 04 '21 13:01 MilosSvrcek

Are you reusing clients/connections/sessions?

hierynomus avatar Jan 04 '21 13:01 hierynomus

What do you mean reusing? Example:
I create connection on the server and do some things, then I close connection. After one hour I have to create connection and do some things again and close connection. So after every time I close connection, I have to create them again. SMB2 have some cache, which one has information about connection?

MilosSvrcek avatar Jan 04 '21 14:01 MilosSvrcek

You're reusing the connection to re-authenticate. However you should be getting a new connection from the SmbClient.

Does that work?

hierynomus avatar May 19 '21 07:05 hierynomus

My case is, I closed the connnection before my operation (authenticate or connectShare) finish.

Higurashi-kagome avatar Oct 09 '22 05:10 Higurashi-kagome