[Samba] hanging smbd(s).....

Masopust Christian christian.masopust at siemens.com
Thu Dec 15 10:07:12 GMT 2005


dear all,

the following problem occurs periodically (appr. once a week) here:

the number of smbd(s) will dramatically rise (up to 500 and more...)
when having a look what the proccesses are doing i only see that they
are waiting for getting a lock:

fcntl64(4, F_SETLKW64, {type=F_WRLCK, whence=SEEK_SET, start=240, len=1}, 0xbfefa5c0) = 0

filedescriptor 4 is bound to my secrets.tdb !

after that i checket which process holds the lock of secrets.tdb i'll see
that it has it locked and is waiting for some packet from network (maybe
from client or maybe from domain-controler, i never found out...)

the only thing i found were the following entries in the logfile (log of 
smbd which holds lock to secrets.tdb and is waiting for network):

[2005/12/15 08:06:06, 0, pid=10372, effective(0, 0), real(0, 0)] lib/util_sock.c:get_peer_addr(1000)
  getpeername failed. Error was Transport endpoint is not connected
[2005/12/15 08:06:06, 0, pid=10372, effective(0, 0), real(0, 0)] lib/util_sock.c:write_socket_data(430)
  write_socket_data: write failure. Error = Connection reset by peer
[2005/12/15 08:06:06, 0, pid=10372, effective(0, 0), real(0, 0)] lib/util_sock.c:write_socket(455)
  write_socket: Error writing 4 bytes to socket 5: ERRNO = Connection reset by peer
[2005/12/15 08:06:06, 0, pid=10372, effective(0, 0), real(0, 0)] lib/util_sock.c:send_smb(647)
  Error writing 4 bytes to client. -1. (Connection reset by peer)
[2005/12/15 08:06:06, 1, pid=10373, effective(74104, 3200), real(74104, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw10y14 (uid=74104, gid=3200) (pid 10373)
[2005/12/15 08:06:09, 1, pid=10373, effective(0, 0), real(0, 0)] smbd/service.c:close_cnum(836)
  atpc4dcc (158.226.226.71) closed connection to service vobstore
[2005/12/15 09:10:22, 1, pid=13614, effective(74104, 3200), real(74104, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw10y14 (uid=74104, gid=3200) (pid 13614)
[2005/12/15 09:10:33, 1, pid=13614, effective(699, 555), real(699, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw9p208 (uid=699, gid=555) (pid 13614)
[2005/12/15 09:10:40, 1, pid=13614, effective(0, 0), real(0, 0)] smbd/service.c:close_cnum(836)
  atpc4dcc (158.226.226.71) closed connection to service vobstore
[2005/12/15 09:11:26, 0, pid=13614, effective(0, 0), real(0, 0)] smbd/change_trust_pw.c:change_trust_account_password(93)
  2005/12/15 09:11:26 : change_trust_account_password: Failed to change password for domain WW300.
[2005/12/15 09:11:38, 1, pid=13614, effective(699, 555), real(699, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw9p208 (uid=699, gid=555) (pid 13614)
[2005/12/15 09:11:46, 1, pid=13614, effective(0, 0), real(0, 0)] smbd/service.c:close_cnum(836)
  atpc4dcc (158.226.226.71) closed connection to service vobstore
[2005/12/15 09:12:02, 1, pid=13614, effective(699, 555), real(699, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw9p208 (uid=699, gid=555) (pid 13614)
[2005/12/15 09:12:08, 1, pid=13614, effective(0, 0), real(0, 0)] smbd/service.c:close_cnum(836)
  atpc4dcc (158.226.226.71) closed connection to service vobstore
[2005/12/15 09:12:08, 1, pid=13614, effective(699, 555), real(699, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw9p208 (uid=699, gid=555) (pid 13614)
[2005/12/15 09:12:27, 0, pid=13614, effective(0, 0), real(0, 0)] smbd/change_trust_pw.c:change_trust_account_password(93)
  2005/12/15 09:12:27 : change_trust_account_password: Failed to change password for domain WW300.
[2005/12/15 09:12:51, 1, pid=13614, effective(0, 0), real(0, 0)] smbd/service.c:close_cnum(836)
  atpc4dcc (158.226.226.71) closed connection to service vobstore
[2005/12/15 09:12:57, 1, pid=13614, effective(699, 555), real(699, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw9p208 (uid=699, gid=555) (pid 13614)
[2005/12/15 09:13:02, 1, pid=13614, effective(0, 0), real(0, 0)] smbd/service.c:close_cnum(836)
  atpc4dcc (158.226.226.71) closed connection to service vobstore
[2005/12/15 09:13:03, 1, pid=13614, effective(699, 555), real(699, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw9p208 (uid=699, gid=555) (pid 13614)
[2005/12/15 09:13:13, 1, pid=13614, effective(0, 0), real(0, 0)] smbd/service.c:close_cnum(836)
  atpc4dcc (158.226.226.71) closed connection to service vobstore
[2005/12/15 09:14:35, 1, pid=13874, effective(74104, 3200), real(74104, 0)] smbd/service.c:make_connection_snum(648)
  atpc4dcc (158.226.226.71) connect to service vobstore initially as user atw10y14 (uid=74104, gid=3200) (pid 13874)
[2005/12/15 10:49:31, 0, pid=13874, effective(0, 0), real(0, 0)] smbd/change_trust_pw.c:change_trust_account_password(93)
  2005/12/15 10:49:31 : change_trust_account_password: Failed to change password for domain WW300.
[2005/12/15 10:49:31, 1, pid=13874, effective(0, 0), real(0, 0)] smbd/service.c:close_cnum(836)
  atpc4dcc (158.226.226.71) closed connection to service vobstore



so my question now: how can it happen that smbd holds the lock for secrets.tdb
while waiting for any data from network and therefore block all other smbds??

what could be the reason for this behaviour?

and (most important :-)) how can i avoid this?  

thanks and merry xmas to everyone!
christian


p.s.: sorry if i cannot be any clearer... as this is a life-system i always have
      to resolve this problem very fast (kill all smbds and restart samba...)


More information about the samba mailing list