nmbd diyng with SIGSEGV on Itanium2

Miroslav Zubcic mvz at nimium.hr
Thu May 12 12:49:46 GMT 2005


Hi people!

I have one serious bug report for samba 3.0.10.

HW: Itanium 2
System: Red Hat AS 4
Samba package: 3.0.10-1.4E

I have looked in changelog to see if this was fixed in post 3.0.10
samba, but I didn't find anything that mentions nmbd(8), so here is
my bug report.

I'm having problems on 64bit Itanium2 with nmbd. Nmbd is dying after
exactly 3 days - (if daemon is restarted after 3 days of working) with
this error in nmbd.log:

----------------------------------------------------------------------------
[2005/05/12 10:46:40, 2]
nmbd/nmbd_logonnames.c:become_logon_server(136) become_logon_server:
Atempting to become logon server for workgroup UPRAVA.HAC.HR on subnet
10.10.50.30
[2005/05/12 10:46:40, 0] nmbd/nmbd_logonnames.c:add_logon_names(163)
add_domain_logon_names: Attempting to become logon server for
workgroup UPRAVA.HAC.HR on subnet UNICAST_SUBNET
[2005/05/12 10:46:40, 2]
nmbd/nmbd_logonnames.c:become_logon_server(136) become_logon_server:
Atempting to become logon server for workgroup UPRAVA.HAC.HR on subnet
UNICAST_SUBNET
[2005/05/12 10:46:40, 0]
nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(327)
become_domain_master_browser_wins: Attempting to become domain master
browser on workgroup UPRAVA.HAC.HR, subnet UNICAST_SUBNET.
[2005/05/12 10:46:40, 0]
nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(341)
become_domain_master_browser_wins: querying WINS server from IP
10.10.50.30 for domain master browser name UPRAVA.HAC.HR<1b> on
workgroup UPR AVA.HAC.HR
[2005/05/12 10:46:40, 2]
nmbd/nmbd_become_dmb.c:become_domain_master_stage1(173)
become_domain_master_stage1: Becoming domain master browser for
workgroup UPRAVA.HAC.HR on subnet UNICAST_SUBNET
[2005/05/12 10:46:40, 0]
nmbd/nmbd_nameregister.c:register_name_response(130)
register_name_response: WINS server at IP 10.10.50.30 rejected our
name registration of UPRAVA.HAC.HR<00> IP 10.10.50.30 with error code
5.
[2005/05/12 10:46:40, 0] nmbd/nmbd_workgroupdb.c:fail_register(228)
fail_register: Failed to register name UPRAVA.HAC.HR<00> on subnet
UNICAST_SUBNET.
[2005/05/12 10:46:40, 0]
nmbd/nmbd_namelistdb.c:standard_fail_register(283)
standard_fail_register: Failed to register/refresh name
UPRAVA.HAC.HR<00> on subnet UNICAST_SUBNET
[2005/05/12 10:46:40, 0]
nmbd/nmbd_nameregister.c:register_name_response(130)
register_name_response: WINS server at IP 10.10.50.30 rejected our
name registration of UPRAVA.HAC.HR<1e> IP 10.10.50.30 with error code
5.
[2005/05/12 10:46:40, 0] nmbd/nmbd_workgroupdb.c:fail_register(228)
fail_register: Failed to register name UPRAVA.HAC.HR<1e> on subnet
UNICAST_SUBNET.
[2005/05/12 10:46:40, 0]
nmbd/nmbd_namelistdb.c:standard_fail_register(283)
standard_fail_register: Failed to register/refresh name
UPRAVA.HAC.HR<1e> on subnet UNICAST_SUBNET
[2005/05/12 10:46:40, 0] lib/fault.c:fault_report(36)
  ===============================================================
[2005/05/12 10:46:40, 0] lib/fault.c:fault_report(37)
  INTERNAL ERROR: Signal 11 in pid 24309 (3.0.10-1.4E)
  Please read the appendix Bugs of the Samba HOWTO collection
[2005/05/12 10:46:41, 0] lib/fault.c:fault_report(39)
  ===============================================================
[2005/05/12 10:46:41, 0] lib/util.c:smb_panic2(1504)
  PANIC: internal error
[2005/05/12 10:46:41, 0] lib/util.c:smb_panic2(1512)
  BACKTRACE: 9 stack frames:
   #0 nmbd(smb_panic2-0xa15fe0) [0x2000000800138c10]
   #1 nmbd [0x200000080010e0f0]
   #2 [0xa0000000000107e0]
   #3 nmbd(update_name_ttl-0xaf72c0) [0x2000000800057950]
   #4 nmbd(wins_process_name_registration_request-0xada080) [0x2000000800074ba0]
   #5 nmbd(run_packet_queue-0xaea750) [0x20000008000644e0]
   #6 nmbd(main-0xb0a290) [0x2000000800044610]
   #7 /lib/tls/libc.so.6.1(__libc_start_main-0x56d6f0) [0x20000008005e1550]
   #8 nmbd(_start-0xb0d550) [0x2000000800041700]
----------------------------------------------------------------------------

That's it. Daemon nmbd(8) is diyng with signal 11 SIGSEGV, there is no
two but just one nmbd process in process table after this error, and
clients cannot do wins lookups to find <1b> <1c> etc ...

We have big samba installation with 12 samba domains and more than
1500 clients. Problem is reproducible if we restart samba nmbd daemon,
and wait for three days.

OTOH, I have probably found workaround for this bug: if I stop
problematic nmbd process, manually remove entries for domain from
wins.dat, restart nmbd daemon, daemon will work without segmentation
fault for next 3 days.

Here is one example of entries which must be removed from wins.dat in
order to start nmbd again without signal 11:
 --------------------------------------------------
 "UPRAVA.HAC.HR#00" 1116178439 255.255.255.255 e4R
 "UPRAVA.HAC.HR#1b" 1115876845 10.10.50.30 64R
 "UPRAVA.HAC.HR#1c" 1115876845 10.10.50.30 e4R
 "UPRAVA.HAC.HR#1e" 1116178054 255.255.255.255 e4R
 --------------------------------------------------

After deleting this lines, I have restarted nmbd, and nmbd wrote this
deleted entries again in wins.dat, but *without* signal 11, and
everything seems to be OK, samba is working, wins resolution is OK. I
have repeated this procedure for other 11 samba domain controllers
with sucess. I'm expecting this same problems after 3 days from now,
when wins TTL will exceed. :-(

All samba domains are configured as domain masters and master
browsers. Here is example config file for domain UPRAVA.HAC.HR

-------------------------------------------------------
[global]
    netbios name = LAV
    server string = Linux server
    workgroup = UPRAVA.HAC.HR

    interfaces = vlan50
    socket address = 10.10.50.30/255.255.255.0
        
    ldap filter = (&(uid=%u)(|(ou=Uprava)(ou=Sysacct)))
        
    ldap user suffix    = ou=Uprava,ou=Accounts
    ldap machine suffix = ou=Smbmachines,ou=Accounts

    guest account = guest
    security = user
    local master = yes
    domain master = yes
    preferred master = yes
    domain logons = yes
    encrypt passwords = yes
    update encrypted = yes
    logon path = 
    logon drive =
    logon home =
    logon script =
    os level = 255
    wins support = yes
    max log size = 15000
    log level = 2
    socket options = TCP_NODELAY SO_KEEPALIVE
    username map = /etc/samba/smbusers
    kernel oplocks = false

    ldap admin dn = "uid=sambalav,ou=Sysacct,ou=Accounts,dc=hac,dc=hr"
    ldap delete dn = no
    ldap passwd sync = Yes
    ldap timeout = 10
    #ldap ssl = start_tls
    ldap suffix = dc=hac,dc=hr
    ldap group suffix = ou=Group,ou=Accounts

    passdb backend = ldapsam:"ldap://jaguar.hac.hr ldap://serval.hac.hr"
        
    load printers = no
    bind interfaces only = Yes
    strict locking = Yes
    strict sync = yes
    sync always = yes

    [profiles]
    path = /home/samba/profiles/uprava
    create mask = 0600
    directory mask = 0700
    guest ok = no
    read only = no
    browseable = no
    writeable = yes

[netlogon]
    path = /home/samba/netlogon/uprava
    read only = yes
    guest ok = no
    write list = domadmin
    browseable = No

[homes]
    comment = Home Directories
    browseable = no
    writable = yes

[uprava]
    comment = Sektor Uprava
    path = /home/samba/sektori/uprava
    valid users = +uprava
    force group = uprava
    writeable = Yes
    create mask = 0640
    directory mask = 0750
    guest ok = no
--------------------------------------------------------------------



-- 
Miroslav Zubcic, Nimium d.o.o., email: <mvz at nimium hr>


More information about the samba-technical mailing list