Samba doesn't free network resource with XP clients

Charles Bueche charles at bueche.ch
Sat Mar 1 06:37:30 GMT 2003


Hi,

OK, I understand why this fix wasn't implemented as such, but still, my
problem remain. Here is a copy of my post to samba at samba.org. Subject is
"Samba doesn't free network resource with XP clients", and the previous
post, on 21.2.03, title "2.2.7a breaks on ATM stack on AIX 4.3".

I would appreciate having your opinion on the best way to solve this
problem.

Samba doesn't free network resource with XP clients :
=====================================================

We are having a difficult time with Samba 2.2.7a on AIX. Since XP clients
appeared, we see growing leaked resources on our ATM network adapter
buffers.

Stopping Samba frees all leaked buffers. The short-term fix is to
stop/start samba in a cron job. Hideous quirk at best.

The local network admin traced the SMB exchanges, and found that some
applications don't generate "SMB Logoff" after "Session Disconnect" if the
server doesn't support "NT Status Codes".

However, "NT Status Codes" are supposed to exist since Samba 2.2.3. 

The problem seems to be related to the Microsoft Knowledge Base Article
316740 "SMB Logoff Command Is Not Sent When Session Is Disconnected".

Would it be a solution to use the deadtime option in Samba ? What impact
would it have on XP clients ? I read in another post that some clients
have trouble to reconnect after deadtime hit them.


2.2.7a breaks on ATM stack on AIX 4.3 :
=======================================

we have a very large customer (90'000 PCs) worldwide that has problems
with a Samba server. Here are the details :

platform : IBM 4-cpu server runing AIX 4.3
Samba    : 2.2.7a compiled with gcc 2.95.3
clients  : about 100-200, worldwide
network  : ATM, at least for the server (I don't have more details, sorry)
samba config : pretty straightforward, security=server (might be changed
to "domain" soon), a few shares, etc.

The problem appeared since clents migrated to Windows XP. About every 2
days, the network receive queue overflow, causing an ATM adapter interface
reset. All clients loose their connections (and their unsaved job BTW).

The symptom is visible with netstat -a :

==============================================================
Number of Rcv Buffer on ATM adapter 2207 <== Tendency to grow
Rcv Q size last entry               280  <== Tendency to grow
Number of connections to PDC        116
Number of samba procs (os)          118
Number of samba client sessions     159
==============================================================

Thanks for any hint...
Charles Bueche

On Fri, 28 Feb 2003 17:30:49 -0600
"Christopher R. Hertel" <crh at ubiqx.mn.org> wrote:
> On Fri, Feb 28, 2003 at 10:23:16PM +0100, Charles Bueche wrote:
> > Hi,
> > 
> > I posted my problem to samba at samba.org as well, I think it boils down
> > to the post below. Is there a known fix to this problem ?
> 
> That is an old message, and I am sure we would not have changed Samba to
> send all connected SMB's a "disconnect".  Doing so can have very bad
> consequences.  There is another Windows KB article which explains, for
> example, that this causes clients of a W2K server that are behind a NAT
> to have their sessions shut down if a new client connects.  The new
> client sends VC=0 and the W2K server (since it sees all connections as
> coming from a single IP) disconnects all the other clients.  Ouch.
> 
> Microsoft has a patch for this, I believe.
> 
> Anyway, I did not see your port to samba at samba.org so I have to guess
> that your server is keeping TCP connections open until they time out. 
> Is that correct?  Which problem are you trying to solve?
> 
> Chris -)-----
> 
> > =====================================================================
> > == On Tue, Sep 17, 2002 at 09:50:28PM +0400, Vladimir I. Umnov wrote:
> > > Hello, Fredrik.
> > > 
> > > 
> > > FA> Ah.. So that's the reason for some of the problems.. Why can't
> > > FA> samba"correctly process nt status code"? Do you know?
> > > Samba process nt status code, but besides nt status code must die
> > > send many other commands, and there is no documention about this
> > > commands. But Microsoft KB article says, that only nt status code
> > > processed incorrectly. I think, this is a politics of Microsoft.
> > > They want kill free software!!!
> > > 
> > > 
> > > FA> Should it be a dword och a regular string in the registry?
> > > >From KB article:
> > > Start Registry Editor (Regedt32.exe).
> > > Locate and then click the following key in the registry:
> > > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstat
> > > ion\ parameters On the Edit menu, click Add Value, and then add the
> > > following registry value: Value name: EnableDownLevelLogOff
> > > Data type: REG_DWORD
> > > Radix: Hexadecimal
> > > Value data: 1
> > > Quit Registry Editor.
> > 
> > Ah. Now I think I get it ......
> > 
> > The new Microsoft redirectors use the "feature" of Microsoft SMB
> > implementations that SessionSetup SMB with the VC number set to 0
> > should terminate all previous sessions from the same client, 
> > they don't bother to send a Logoff command any more.
> > 
> > We can change Samba to send all connected SMB's a "disconnect"
> > message when we get a new VC=0 SessionSetup to fix this I think.
> > 
> > I will investigate further.
> > 
> > Jeremy.
> > =====================================================================
> > ==
> 
> -- 
> Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
> jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development,
> uninq. ubiqx Team -- http://www.ubiqx.org/     -)-----  
> crh at ubiqx.mn.org OnLineBook -- http://ubiqx.org/cifs/    -)-----  
> crh at ubiqx.org


-- 
Charles Bueche <charles at bueche.ch>
sand, snow, wave, wind and net -surfer


More information about the samba-technical mailing list