John McMillan
2009-May-28 16:55 UTC
[Samba] samba sessions dying - NT_STATUS_INVALID_PARAMETER
Dear samba users & developers, I was hoping to seek some assistance on a problem I?ve been investigating for a number of weeks now. A brief summary would be that we have a number of Windows servers accessing UNC paths. In turn, these servers intermittently lose their ability to access the UNC paths. When this happens, restarting the application (IIS6 / 7) on the affected windows webserver resolves the issue.killing the smbd daemon serving the request resolves the issue also. A more detailed description of the solution would be?. 2 x rhel4 (update 7) ES servers in a veritas cluster (VCS 5mp3) running samba 3.0.28. 6 x Windows* web servers (Vmware guests) 2 x Windows* domain controllers, all servers are a member of the same domain. .net application running in IIS7 web content exists on the rhel4 cluster, available to the web servers via samba. We don?t actually mount the share as a drive, IIS accesses the UNC path as required. the issue doesn?t appear to be load related, it?s as likely to happen at 2am with ten?s of sessions as it is at 2pm with hundreds of sessions. *I omitted the version of windows because I have two virtually identical solutions; client1 uses windows 2003 and client2 uses windows 2008. Client1 has physical windows 2003 servers, as well as vmware windows 2003 servers. Client2 has only vmware windows 2008 servers. These clients are related and many of the same developers have been involved in coding the .net application on each solution. A more detailed account of the problem?. The problem occurs on only one web server at a time (could be anyone) , i.e. 5 windows servers are still happily accessing the same share while 1 is?. incapacitated. When the server can?t access the share? * We?ve found that we can access the share using ip rather than host name, i.e. \\123.34.45.56\share works but \\servername\share doesn?t * On the rhel4 server we can use netstat to see the session between rhel4-smb-server and win-2k8-client in ?ESTABLISHED? state. * Using strace / tcp dump / smb debug level 10 logs, we can see that when the session is not working, windows is offering uid and gid 0 rather than the user accounts we?d expect, it doesn?t include details of NativeLanMan, NativeOS or domain info either. Samba objects at this point with NT_STATUS_INVALID_PARAMETER * We've captured samba logs when the issue occurs we see this as the problem starts, [2009/05/19 17:22:11, 3] smbd/error.c:error_packet_set(106) ????? error packet at smbd/sesssetup.c(1102) cmd=115 (SMBsesssetupX) NT_STATUS_INVALID_PARAMETER This seems to point to this section of code in sesssetup.c ? if (!vuser) { ??????????????? data_blob_free(&blob1); ??????????????? return ERROR_NT(nt_status_squash(NT_STATUS_INVALID_PARAMETER)); ??????? } I'm not sure why the value of 'vuser' would suddenly become invalid, any ideas? Any help or advice is greatly appreciated. Kind regards,