Subject: Still a memory leak in Samba / libc somewhere?
To: None <netbsd-users@netbsd.org>
From: Mark Cullen <mark.r.cullen@gmail.com>
List: netbsd-users
Date: 09/10/2006 02:34:37
A while a back I was here complaining about a massive memory leak in 
Samba, which turned out to be something to do with libc's telldir().

I applied some patches that I found, dated back many years ago, which 
converted telldir() to use a linked list rather than a hash table. This 
*seemed* to fix the issue.

Yesterday I had a look at all the smbd processes memory usages to make 
sure, after being up for ~30 days, and found that the smbd process for 
*my* computer was using ~30MB of memory! What's strange is that it only 
seems to be the smbd process related to my computer, all the others were 
normal ~4MB. I do tend to make use of my network shared drive on the 
server more than other family members though, and I have much more 
things running in the background on my machine.

It seems to be something related to directories-ish. Before, if I sat 
and held F5 in a single directory the memory usage would slowly climb 
up. This is now fixed with the patches, but browsing around different 
directories seems to make it climb very slowly (4 - 8 bytes?), seemingly 
quite random. It doesn't seem to increase on *every* navigation from 
directory to directory, only some times?

Anyway, I went hunting for a directory full of files somewhere in my 
home folder, and ended up staring at 'Temporary Internet Files'. These 
hadn't been deleted for a while, about ~100MB in there! I don't even use 
IE so god knows why it was all there! I selected it all over Samba, and 
hit delete. Memory usage before hitting delete was ~12MB ( I restarted 
my smbd process yesterday, in 1 night it managed to go from 4MB to 12MB 
somehow ), and once the deleting finished it was at 17.5MB. Copying 
'audio' from pkgsrc (via SSH) to my user home, then deleting this via 
Samba also seems to make the memory usage slowly increase.

Perhaps someone else can try coping part of pkgsrc to a directory shared 
by Samba, then try deleting the directory over Samba, with NetBSD 
3-current (still a bit confused with NetBSD tags, this exists though 
right?) or with libc patched to use the linked list, and tell me if they 
also experience this issue?

I am rather lost trying to track it down myself :-( To be honest, I dont 
even know where to start looking, so any help at all would be great!

Thanks,
-- 
Mark Cullen <mark.r.cullen@gmail.com>
BSc (Hons), Computer Science