AnsweredAssumed Answered

Client drops connection to JLan on upload, with Win32NetBIOS

Question asked by yngwiie on Apr 10, 2009
Hi, i have been evaluating JLan version 5.0, but hit a showstopper, and i am not able to resolve the problem.
I have also posted a bug for this, but am hoping that I can get an answer faster here in the forum.
The bug link for this one is https://issues.alfresco.com/jira/browse/JLAN-73
and you can also find a WireShark dump file in the bug posting.

I am running JLan on a windows 2003 server. Windows NetBIOS over TCP/IP is enabled, the native
windows CIFS support is disabled. JLan is running the Win32NetBIOS and tcpipSMB protocols.
When accessing JLan through a linux client, which preferres port 445, everything works fine
with the tcpipSMB protocol. When accessing from a windows machine however ( server2003, or xp),
which bind to port 139 and the Win32NetBIOS therefore, i hit a problem where after uploading some
large ammount of larger files i get a connection reset exception, or graceful shutdown error in JLan
native code, which closes the session and breaks the file upload. I am basically unable to complete
a file upload of size larger than 1, 2GB. This problem does not exist at all if the tcpipSMB protocol is used.

The actual error is:
org.alfresco.jlan.netbios.win32.WinsockNetBIOSException: 10101:ReceiveSocket - Graceful shutdown in progress
at org.alfresco.jlan.netbios.win32.Win32NetBIOS.ReceiveSocket(Native Method)
at org.alfresco.jlan.netbios.win32.NetBIOSSocket.read(NetBIOSSocket.java:337)
at org.alfresco.jlan.smb.server.win32.WinsockNetBIOSPacketHandler.readPacket(WinsockNetBIOSPacketHandler.java:176)
at org.alfresco.jlan.smb.server.SMBSrvSession.run(SMBSrvSession.java:1247)
at java.lang.Thread.run(Unknown Source)

The other one occurs at the same location in code but with error code: WSAECONNRESET (10054)

I thought about sending a Session Redirect response to the Session Request message to port 445, but then
i saw that Winsock APIs handle the protocol header on their own ( is there a way to disable winsock to respond to session request on its own ?).
I also tried linux client with only the Win32NetBIOS protocol handler enabled and the same problem occurs as well. I guess this is a difficult
problem to track down, but it really renders JLan unusable from windows clients for me.
Hope anyone has a solution for this problem.

Thanks in advance.

Outcomes