i have installed samba 3.3.4 on some linux-systems last week and today, i have problems with one system, because i have more then 4000 processes in memory.
i find out, that there are many zombie-processes from smbd und after i kill all smbd-processes, i have less then 200 processes in memory!
i check this on the other systems and i find also smbd-zombies:
2408 ? Ss 1:54 smbd -l /var/log/samba -s /etc/samba/smb.conf
2410 ? Z 0:00 [smbd] <defunct>
2844 ? Z 0:00 [smbd] <defunct>
14278 ? Z 0:00 [smbd] <defunct>
24234 ? Z 0:00 [smbd] <defunct>
29970 ? Z 0:00 [smbd] <defunct>
3666 ? Z 0:00 [smbd] <defunct>
14151 ? Z 0:00 [smbd] <defunct>
2364 ? Z 0:00 [smbd] <defunct>
with this pstree:
if i don't kill this zombies by killing the root-daemon, then they kill my system!
at the moment, i compile some older version, to find out, which version produce this error.
What kernel is this?
Can you start an strace -p <parent-pid>, and do a
kill -CHLD <parent-pid>
and see what happens? And, while doing the strace, can you do a
smbclient -L <server> -U%
please upload that strace output.
i have compiled all version from 3.2.0 to 3.3.4 to test which produce zombies.
since version 3.2.6 i got zombies.
with version 3.2.5 it works. but i will make a longer test, to be sure.
Okay... you have a fast box, don't you? Compiling takes a while.
If you *really* want to nail the patch that broke it for you, you can use git bisect: Download the git tree according to
git bisect start
git bisect good release-3-2-5
git bisect bad release-3-2-6
git bisect then leaves you with a source tree that you can compile and test. If the test is ok, say "git bisect good", if it gives you zomies, say "git bisect bad". Then it will give you the next source tree until you arrive at the one that is the culprit. It should get you there with at most 7-8 tests.
i can't make this trace for you, because i use samba as service with xinetd.
but i have run it for test as daemon and after some hours, i have no zombie.
i think, smbd produce this zombies only, if it is used as service with xinetd
(or inetd ?).
i will try, to get a trace for you for this configuration as soon as possible.
i have one strace for the access with smbclient.
but i can't upload it, because bugzilla send me an error-message from cgi-script.
you can download it here for some time:
but i can't check, if there was two zombies, because i can't check this with ps.
my system is too fast for this.
i can make you a strace with regular access to the fileserver if needed.
this produce two zombies every time.
Ok, ok. That's a different situation. I think the xinetd configuration hasn't been tested for a while. Can you retry with the standard standalone smbd?
Yes, a trace that does produce zombies would be helpful
i have a trace for you with two zombies:
i hope, this will help you.
the trace is from version 3.3.4.
i have some problems with git bisect. i can only compile the first version, all others, i get errors with lost files or existing files.
Created attachment 4296 [details]
Patch for 3.3
Can you try the attached patch? It fixes some zombies for me.
Jeremy, this has to do with the async cups printcap updater. Please also take a look.
Created attachment 4301 [details]
Fix for 3.4.0
This fixes the [x]inetd zombies problem for me. Backports soon to 3.3.x and 3.2.x.
Created attachment 4303 [details]
Patch for 3.3
This fixes the problem using 3.3 with [x]inetd here - please test.
The patch for 3.3 also applies cleanly to 3.2.
Volker can you please review ? Thanks !
Tested both the 3.3 and 3.4 patches. Work fine for me. Thanks!
Pushed to v3-4-test, v3-3-test and v3-2-test. Will be included in the next releases.
Closing out bug report.
no more zombies on connect.