[sisyphus] nmbd падает при определенных условиях

Borovoy M. =?iso-8859-1?q?massa=5Flists_=CE=C1_pisem=2Enet?=
Сб Окт 18 15:48:23 MSD 2003


Hi!

Есть проблема. nmbd падает с периодичностью 1 час - 4 дня. При этом smbd 
  работает. Проблема полностью не локализована, но есть предположение, 
что в этом виноват клиент со странным названием группы. При этом сам 
клиент находится за маршрутизатором (broadcast не проходит), на котором 
запущена самба и WINS, на котором этих проблем нет. Это происходит на 
нескольких серверах, которые находятся "по эту сторону" от сервера с 
WINS, все используют WINS.
Сервер самбы получает имя группы либо через WINS (наиболее вероятно), 
либо клиент коннектится напрямую по IP (менее вероятно, так как доступ 
ему запрещен через hosts allow).

Самба samba3-3.0-alt42
Ядро Linux 2.4.22-std-up-alt2 #1 Tue Sep 9 16:10:40 MSD 2003

В предыдущих сборках самбы падения случались чаще, но это может зависеть 
от клиента.

Начинается всё с этого:

[2003/10/17 22:08:15, 0] nmbd/nmbd_workgroupdb.c:create_workgroup(63)
create_workgroup: workgroup name Б~U╗п╛Б~U╗п╔Б~U╗п╡Б~U╗п| 
Б~U╗п╚Б~U╗п╚Б~U╗п╝Б~U╗ is too long. Truncating to Б~U╗п╛Б~U╗п╔Б~U╗п╡
[2003/10/17 22:08:15, 0] nmbd/nmbd_workgroupdb.c:create_workgroup(63)
create_workgroup: workgroup name п~\п~Uп╒п~Pп~[п~[п~^п~Rп~Uп~Tп╚ is too 
long. Truncating to п~\п~Uп╒п~Pп~[п~[п~^п


При этом в /var/log/messages можем наблюдать:

Oct 17 22:08:15 server-211 nmbd[14061]: [2003/10/17 22:08:15, 0] 
nmbd/nmbd_workgroupdb.c:create_workgroup(63)
Oct 17 22:08:15 server-211 nmbd[14061]:   create_workgroup: workgroup 
name Б\225╗п╛Б\225╗п╔Б\225╗п╡Б\225╗п| Б\225╗п╚Б\225╗п╚Б\225╗п╝Б\225╗ is 
too long. Truncating to Б\225╗п╛Б\225╗п╔Б\225╗п╡
Oct 17 22:08:15 server-211 nmbd[14061]: [2003/10/17 22:08:15, 0] 
nmbd/nmbd_workgroupdb.c:create_workgroup(63)
Oct 17 22:08:15 server-211 nmbd[14061]:   create_workgroup: workgroup 
name п\234п\225п╒п\220п\233п\233п\236п\222п\225п\224п╚ is too long. 
Truncating to п\234п\225п╒п\220п\233п\233п\236п
Oct 17 22:08:18 server-211 nmbd[14061]: [2003/10/17 22:08:18, 0] 
nmbd/nmbd_logonnames.c:become_logon_server_success(124)


После этого в /var/log/samba/log.nmbd начинают постоянно сыпаться 
сообщения вида:

[2003/10/18 00:17:18, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:18, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:18, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:18, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:18, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:19, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:19, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:19, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:19, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:19, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:19, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:20, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:17:20, 3] lib/charcnv.c:convert_string_allocate(444)


После 1-2х дней, процесс nmbd падает:

2003/10/18 00:49:38, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:49:38, 3] lib/charcnv.c:convert_string_allocate(444)
  convert_string_allocate: Conversion error: Illegal multibyte sequence(п)
[2003/10/18 00:49:38, 0] lib/fault.c:fault_report(36)
  ===============================================================
[2003/10/18 00:49:38, 0] lib/fault.c:fault_report(37)
  INTERNAL ERROR: Signal 11 in pid 14061 (3.0.0-ALT/3.0)
  Please read the appendix Bugs of the Samba HOWTO collection
[2003/10/18 00:49:38, 0] lib/fault.c:fault_report(39)
  ===============================================================
[2003/10/18 00:49:38, 0] lib/util.c:smb_panic(1400)
  PANIC: internal error
[2003/10/18 00:49:38, 0] lib/util.c:smb_panic(1407)
  BACKTRACE: 15 stack frames:
   #0 /usr/sbin/nmbd(smb_panic+0x11c) [0x80c037c]
   #1 /usr/sbin/nmbd [0x80aebd2]
   #2 /lib/libc.so.6 [0x40240288]
   #3 /lib/libc.so.6(__libc_free+0x86) [0x40284976]
   #4 /lib/libc.so.6(vasprintf+0x116) [0x4027c4f6]
   #5 /lib/libc.so.6(__asprintf+0x2d) [0x402664dd]
   #6 /usr/sbin/nmbd [0x80b6d24]
   #7 /usr/sbin/nmbd(wins_srv_alive+0x1e) [0x80b6ebe]
   #8 /usr/sbin/nmbd [0x8069d49]
   #9 /usr/sbin/nmbd [0x806e141]
   #10 /usr/sbin/nmbd(run_packet_queue+0x7f) [0x806e1cf]
   #11 /usr/sbin/nmbd(strftime+0x1aa2) [0x805f7fa]
   #12 /usr/sbin/nmbd(main+0x3f7) [0x805fe97]
   #13 /lib/libc.so.6(__libc_start_main+0xa2) [0x4022f682]
   #14 /usr/sbin/nmbd(yp_get_default_domain+0x59) [0x805e6d1]
[2003/10/18 00:50:10, 2] lib/util_sock.c:open_socket_out(726)
  error connecting to 192.168.129.153:139 (Connection timed out)
[2003/10/18 00:50:10, 1] libsmb/cliconnect.c:cli_connect(1214)
  Error connecting to 192.168.129.153 (Connection timed out)


Конфиг самбы:

[global]
     workgroup = A211
     netbios name = SERVER-211
     server string =  Samba server on %h (v. %v)
     printcap name = lpstat
     load printers = no
     printing = cups
     log file = /var/log/samba/log.%m
     max log size = 250
     log level = 3
     hosts allow = 192.168.131. 192.168.130. 192.168.136. 127.
     guest account = nobody
     map to guest = Bad User
     security = domain
     password server = *
     encrypt passwords = yes
     smb passwd file = /etc/samba/smbpasswd
     username map = /etc/samba/smbusers
     template homedir = /home/SAMBA/DC/%D/%U
     socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
     remote browse sync = 192.168.131.31 192.168.130.63
     local master = yes
     os level = 64
     domain master = yes
     preferred master = yes
     domain logons = yes
     logon script = %U.bat
     logon path = \\%L\Profiles\%U
     name resolve order = wins lmhosts host bcast
     wins server = 192.168.140.1
     wins proxy = yes
     dns proxy = no
     dos charset = CP866
     display charset = KOI8-R
     use sendfile = no
[homes]
     comment = Home Directory for '%u'
     browseable = no
     writable = yes
[netlogon]
     comment = Network Logon Service
     path = /var/lib/samba/netlogon
     guest ok = yes
     writable = no
[Profiles]
     path = /var/lib/samba/profiles
     browseable = no
     guest ok = yes
[share]
         comment = server-211 share (test mode)
         path = /home/SAMBA/share
         guest ok = yes
         printable = no
         writable = yes

В строке remote browse sync = 192.168.131.31 192.168.130.63 - broadcast 
адреса локальных сетей подключенных к этому серверу (их стоит наверное 
убрать?).

--
С уважением, Боровой Михаил





Подробная информация о списке рассылки Sisyphus