Bug ? causing WINS to crash (NT 2000 implicated!)

JON GERDES
2000-10-06T16:45:50Z

Hi

I am not subscribed to the mailing list so please CC. me
(mailto:gerdesj@gkn-whl.co.uk)

I have a multi-segment network with ATM core, mix of 10/100Mb Ethernet.
3,500 odd NT4 (various SP) clients and about 200 95/98 clients.  I have a
dedicated box running samba for just WINS and very minor file serving.
This has been working for over 2 years with no problems.

OS: Linux Mandrake 7 with kernel 2.2.15 hand compiled from
original source, as is samba

Recently the nmbd process stops responding to eg:

nmblookup -R -U <ip_of_samba_box> <a_node_name>

I can stop and start it and off it goes.  This happens nearly daily.  With
hindsight it near enough conincides with me installing Win2000 (SP1) on my
PC.

Attempts to remedy:
Moved samba to a new box (took the IP address with it).  I look after the
DNS so eveything is correct there)
Moved up to 2.0.7 from 2.0.6
Finally enabled level 10 logging and 100Mb log files (I have nearly 2Gb of
them !)

My PC (noddy) has nine interfaces, 6 on a 3com 3c980a using VLAN tagging
and then three ordinary NIC's so I can get at the remainder of our main LANs
without routing.  DHCP is used on all interfaces.

I used to have NT4.0 on this box and there were no problems with WINS.

At the end of this note there is a short extract from the end of nmb.log.
If you want more I have about 110Mb available from before the last crash.

There was no corefile that I could find.  I believe my PC (noddy) is the
master browser for WGROUP7 on most if not all subnets.

On possible problem that might come up is due to using Dynamic DNS.
We have several NetWare 5.1SP1 servers doing DNS/DHCP.  This
works fine for single homed clients but gets a little confused with
multi-homed boxen.

I have now moved my PC over to permanent leases to see if that helps
and registered all the IP addresses against a single nodename (noddy).

I have also stopped my PC from using WINS (its now a B node rather
than P)

Any assistance would be much appreciated.  More details can be sent
if needed smb.conf, paramters passed to configure, etc etc

BTW this is the first problem I've encountered with samba, ever in
several years of usage. The box called VOYAGER in the log is
a dual PII-600 running around 500 smbd's constantly on Linux.
It doles out rather more data than the NT boxen here and faster
and has rather a long uptime (since the last power cut)..

Cheers
Jon Gerdes

==================nmbd.log================[2000/10/06 10:09:50, 5]
libsmb/nmblib.c:read_packet(727)
  Received a packet of len 50 from (172.20.50.46) port 137
[2000/10/06 10:09:50, 4] libsmb/nmblib.c:debug_nmb_packet(109)
  nmb packet from 172.20.50.46(137) header: id=65249 opcode=Query(0) response=No
      header: flags: bcast=No rec_avail=No rec_des=Yes trunc=No auth=No
      header: rcode=0 qdcount=1 ancount=0 nscount=0 arcount=0
      question: q_name=WGROUP7<1b> q_type=32 q_class=1
[2000/10/06 10:09:50, 3]
nmbd/nmbd_winsserver.c:wins_process_name_query_request(1362)
  wins_process_name_query: name query for name WGROUP7<1b> from IP
172.20.50.46
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "WGROUP7<1b>", "MAC08532<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "WGROUP7<1b>", "VOYAGER<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "WGROUP7<1b>", "WGROUP2<1b>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "WGROUP7<1b>", "WGROUP3<00>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "WGROUP7<1b>", "WGROUP4<00>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "WGROUP7<1b>", "WGROUP7<00>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
-1 == memcmp( "WGROUP7<1b>", "WORKGROUP<00>", 88
)
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
-1 == memcmp( "WGROUP7<1b>", "WGROUP7<1e>", 88 )
[2000/10/06 10:09:50, 9] nmbd/nmbd_namelistdb.c:find_name_on_subnet(136)
  find_name_on_subnet: on subnet WINS_SERVER_SUBNET - name WGROUP7<1b> NOT
FOUND
[2000/10/06 10:09:50, 4] nmbd/nmbd_packets.c:reply_netbios_packet(915)
  reply_netbios_packet: sending a reply of packet type: wins_query
WGROUP7<1b> to ip 172.20.50.46 for id 65249
[2000/10/06 10:09:50, 4] libsmb/nmblib.c:debug_nmb_packet(109)
  nmb packet from 172.20.50.46(137) header: id=65249 opcode=Query(0)
response=Yes
      header: flags: bcast=No rec_avail=Yes rec_des=Yes trunc=No auth=Yes
      header: rcode=3 qdcount=0 ancount=1 nscount=0 arcount=0
      answers: nmb_name=WGROUP7<1b> rr_type=32 rr_class=1 ttl=0
[2000/10/06 10:09:50, 4] libsmb/nmblib.c:debug_nmb_packet(109)
  nmb packet from 172.20.50.46(137) header: id=65249 opcode=Query(0)
response=Yes
      header: flags: bcast=No rec_avail=Yes rec_des=Yes trunc=No auth=Yes
      header: rcode=3 qdcount=0 ancount=1 nscount=0 arcount=0
      answers: nmb_name=WGROUP7<1b> rr_type=32 rr_class=1 ttl=0
[2000/10/06 10:09:50, 5] libsmb/nmblib.c:send_udp(748)
  Sending a packet of len 56 to (172.20.50.46) on port 137
[2000/10/06 10:09:50, 4] nmbd/nmbd_workgroupdb.c:find_workgroup_on_subnet(164)
  find_workgroup_on_subnet: workgroup search for WGROUP4 on subnet 172.16.40.1:
found.
[2000/10/06 10:09:50, 10]
nmbd/nmbd_sendannounce.c:announce_myself_to_domain_master_browser(406)
  announce_myself_to_domain_master_browser: t (970823390) - last(970822837) <
900
[2000/10/06 10:09:50, 4] nmbd/nmbd_workgroupdb.c:find_workgroup_on_subnet(164)
  find_workgroup_on_subnet: workgroup search for WGROUP4 on subnet
UNICAST_SUBNET: found.
[2000/10/06 10:09:50, 4] nmbd/nmbd_workgroupdb.c:find_workgroup_on_subnet(164)
  find_workgroup_on_subnet: workgroup search for WGROUP4 on subnet
UNICAST_SUBNET: found.
[2000/10/06 10:09:50, 10] lib/util_sock.c:read_udp_socket(192)
  read_udp_socket: lastip 172.20.50.52 lastport 137 read: 50
[2000/10/06 10:09:50, 10] libsmb/nmblib.c:parse_nmb(474)
  parse_nmb: packet id = 52856
[2000/10/06 10:09:50, 5] libsmb/nmblib.c:read_packet(727)
  Received a packet of len 50 from (172.20.50.52) port 137
[2000/10/06 10:09:50, 4] libsmb/nmblib.c:debug_nmb_packet(109)
  nmb packet from 172.20.50.52(137) header: id=52856 opcode=Query(0) response=No
      header: flags: bcast=No rec_avail=No rec_des=Yes trunc=No auth=No
      header: rcode=0 qdcount=1 ancount=0 nscount=0 arcount=0
      question: q_name=NODDY<00> q_type=32 q_class=1
[2000/10/06 10:09:50, 3]
nmbd/nmbd_winsserver.c:wins_process_name_query_request(1362)
  wins_process_name_query: name query for name NODDY<00> from IP
172.20.50.52
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "NODDY<00>", "MAC08532<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
-1 == memcmp( "NODDY<00>", "VOYAGER<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "NODDY<00>", "MAC08602<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "NODDY<00>", "MAC50950<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "NODDY<00>", "MAC54110<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "NODDY<00>", "MAC60959<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "NODDY<00>", "NEW50<03>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
-1 == memcmp( "NODDY<00>", "TLAYER2<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
-1 == memcmp( "NODDY<00>", "P-06043<00>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "NODDY<00>", "NEW50<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
1 == memcmp( "NODDY<00>", "NEWG<20>", 88 )
[2000/10/06 10:09:50, 10] nmbd/nmbd_subnetdb.c:namelist_entry_compare(77)
nmbd_subnetdb:namelist_entry_compare()
0 == memcmp( "NODDY<00>", "NODDY<00>", 88 )
[2000/10/06 10:09:50, 9] nmbd/nmbd_namelistdb.c:find_name_on_subnet(131)
  find_name_on_subnet: on subnet WINS_SERVER_SUBNET - found name NODDY<00>
source=1
[2000/10/06 10:09:50, 3]
nmbd/nmbd_winsserver.c:wins_process_name_query_request(1407)
  wins_process_name_query: name query for name NODDY<00> returning first
IP 172.21.50.69.
[2000/10/06 10:09:50, 4] nmbd/nmbd_packets.c:reply_netbios_packet(915)
  reply_netbios_packet: sending a reply of packet type: wins_query
NODDY<00> to ip 172.20.50.52 for id 52856
[2000/10/06 10:09:50, 4] libsmb/nmblib.c:debug_nmb_packet(109)
  nmb packet from 0.0.172.24(2866) header: id=405938092 opcode=<unknown
opcode>(413925376) response=Yes
      header: flags: bcast=Yes rec_avail=Yes rec_des=Yes trunc=Yes auth=Yes
      header: rcode=15410 qdcount=1093803948 ancount=531365888 nscount=7218
arcount=926031788
      question: q_name=<00> q_type=0 q_class=0
      answers: nmb_name=NODDY<00> rr_type=32 rr_class=1 ttl=518348
      answers   0 char ....2"....2.....   hex
0000AC1432220000AC14322E0000AC14
      answers  10 char 2.....2M....2}..   hex 32020000AC14324D0000AC14327D0000
      answers  20 char ..2`....2q....2.   hex AC1432600000AC1432710000AC143291
      answers  30 char ....2.....2.....   hex 0000AC14329B0000AC1432FD0000AC14
      answers  40 char 2.....2.....2...   hex 32CD0000AC1432EA0000AC1432B30000
      answers  50 char ..2.....2.....3.   hex AC1432EE0000AC1432DB0000AC14330D
      answers  60 char ....2E....2P....   hex 0000AC1532450000AC1632500000AC16
      answers  70 char 2r....2C....26..   hex 32720000AC1632430000AC1632360000
      answers  80 char ..2R....2.....2v   hex AC1632520000AC16321A0000AC163276
      answers  90 char ....2p....2<....   hex
0000AC1632700000AC16323C0000AC16
      answers  a0 char 2 ....2B....2:..   hex 32200000AC1632420000AC16323A0000
      answers  b0 char ..2N....22....2.   hex AC16324E0000AC1232320000AC1332BA
      answers  c0 char ....2z....2B....   hex 0000AC10327A0000AC1332420000AC10
      answers  d0 char 3.....29....2"..   hex
330B0000AC1232390000AC1332220000
      answers  e0 char ..2G....3.....26   hex AC1232470000AC1033990000AC133236
      answers  f0 char ....2)....3.....   hex 0000AC1232290000AC10339A0000AC13
      answers 100 char 2.....2X....3...   hex 32B40000AC1232580000AC10339B0000
      answers 110 char ..2.....2.....3.   hex AC1332B30000AC1232CE0000AC1033B9
      answers 120 char ....2E....2!....   hex 0000AC1232450000AC1332210000AC10
      answers 130 char 2.....2.....3h..   hex 328C0000AC1232CD0000AC1033680000
      answers 140 char ..2.....2.....2.   hex AC1232B70000AC1032090000AC1232D5
      answers 150 char ....2.....2:....   hex 0000AC1332190000AC10323A0000AC12
      answers 160 char 2.....2$....2...   hex 32D70000AC1332240000AC1032EB0000
      answers 170 char ..2.....2+....2.   hex AC1232D80000AC13322B0000AC103291
      answers 180 char ....2.....2/....   hex 0000AC1232D90000AC13322F0000AC10
      answers 190 char 2.....2.....21..   hex 32920000AC1232DA0000AC1332310000
      answers 1a0 char ..2)....2.....2,   hex AC1332290000AC1032A50000AC13322C
      answers 1b0 char ....2V....2.....   hex 0000AC1032560000AC13320F0000AC10
      answers 1c0 char 2.....2.....3...   hex 32BC0000AC1332810000AC1033C10000
      answers 1d0 char ..2.....2.....2.   hex AC12320C0000AC1332960000AC10329A
      answers 1e0 char ....2.....2.....   hex 0000AC1232840000AC1332A60000AC10
      answers 1f0 char 2'....6.....2...   hex
32270000AC12361A0000AC1332B70000
      answers 200 char ..2.....2k....2$   hex AC10328A0000AC13326B0000AC123224
      answers 210 char ....2:....2.....   hex 0000AC13323A0000AC1032C80000AC18
      answers 220 char 2.....2.....2:..   hex 321E0000AC1F32070000AC19323A0000
      answers 230 char ..24....2.....2+   hex AC1F32340000AC1F32060000AC1F322B
      answers 240 char ....2.....2.....   hex 0000AC1F320D0000AC1832020000AC18
      answers 250 char 2..........9....   hex 320B00000A000000DE96DD3900000000
      answers 260 char ..2.....2*....2.   hex AC1F32180000AC18322A0000AC1F321E
      answers 270 char ....2+....2:....   hex 0000AC18322B0000AC1F323A0000AC1F
      answers 280 char 2<....2A....2...   hex
323C0000AC1F32410000AC1F321C0000
      answers 290 char ..27   hex AC1F3237
[2000/10/06 10:09:50, 0] lib/fault.c:fault_report(40)
  ==============================================================[2000/10/06
10:09:50, 0] lib/fault.c:fault_report(41)
  INTERNAL ERROR: Signal 11 in pid 32303 (2.0.7)
  Please read the file BUGS.txt in the distribution
[2000/10/06 10:09:50, 0] lib/fault.c:fault_report(43)
  ==============================================================[2000/10/06
10:09:52, 0] lib/util.c:smb_panic(2381)
  PANIC: internal error
-------------- next part --------------
3jZryv