[Samba] smbd+ldapsam infinite loop, cpu=100%

The Ranger ranger at deepdust.com
Tue Aug 24 10:39:18 GMT 2004


Hello,

We have been running samba v2 for quite some time without any problems. 
But after the upgrade to samba-3.0.5 some anomalies have come out. I've 
compiled it with LDAP authentication support; the LDAP server is 
installed on the same machine  and the communication is done via sockets.

After working fine for some time, and as usual creating multiple threads 
from the smbd proccess, it suddenly goes into an infinite loop;

Running strace on that thread shows:

open("/etc/passwd", O_RDONLY)           = 28
fcntl64(28, F_GETFD)                    = 0
fcntl64(28, F_SETFD, FD_CLOEXEC)        = 0
fstat64(28, {st_mode=S_IFREG|0644, st_size=852, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0x4033d000
read(28, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 852
read(28, "", 4096)                      = 0
close(28)                               = 0
munmap(0x4033d000, 4096)                = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
getpid()                                = 19340
geteuid32()                             = 65534
getpid()                                = 19340
geteuid32()                             = 65534
time(NULL)                              = 1093339331
write(26, "0\201\305\2\3%\302\233c\201\275\4\25ou=users,dc=21k,dc"..., 
200) = 200
select(1024, [26], [], NULL, NULL)      = 1 (in [26])
read(26, "0\16\2\3%\302\233e", 8)       = 8
read(26, "\7\n\1\0\4\0\4\0", 8)         = 8
time(NULL)                              = 1093339331
time([1093339331])                      = 1093339331
rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
open("/etc/passwd", O_RDONLY)           = 28
fcntl64(28, F_GETFD)                    = 0
fcntl64(28, F_SETFD, FD_CLOEXEC)        = 0
fstat64(28, {st_mode=S_IFREG|0644, st_size=852, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 
-1, 0) = 0x4033d000
read(28, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 852
read(28, "", 4096)                      = 0
close(28)                               = 0
munmap(0x4033d000, 4096)                = 0
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0

.....


While normally working smbd threads are owen by the user who is logged 
into the domain, the looping ones are always run by the nobody-user:

nobody   19339  4.3  1.2  7012 3976 ?        S    02:26  29:07 
/usr/local/samba/sbin/smbd -D
nobody   19341  4.2  1.2  7012 3976 ?        S    02:26  28:30 
/usr/local/samba/sbin/smbd -D
nobody   19342  4.0  1.2  7012 3980 ?        S    02:26  26:56 
/usr/local/samba/sbin/smbd -D
nobody   19343  3.9  1.2  7012 3976 ?        S    02:26  26:15 
/usr/local/samba/sbin/smbd -D


I've tested the exactly the same configuration on the other machine and 
it works fine, no looping.


Any ideas, how to solve this problem or what to look for?



--
Best wishes,
The Ranger



More information about the samba mailing list