[Samba] Signal 11 on winbindd start: memory leak in malloc

Vassil Dichev vdichev at hotmail.com
Fri May 28 08:54:35 GMT 2004


Version: 3.0.2a-1 (both in distributed package and in package rebuilt on my 
machine)
OS: Debian testing
Environment: Windows 2000 Active Directory

I am trying to setup winbind on my machine as described in the Samba HOWTO 
collection. I have edited nsswitch.conf and smb.conf as instructed and my 
samba server has joined the domain (security = ads). Kerberos is configured 
and the samba server runs fine.

However every time I start the winbindd daemon, it crashes immediately with 
the following error message:

[2004/05/28 09:33:21, 0] lib/fault.c:fault_report(36)
  ===============================================================
[2004/05/28 09:33:21, 0] lib/fault.c:fault_report(37)
  INTERNAL ERROR: Signal 11 in pid 23236 (3.0.2a-Debian)
  Please read the appendix Bugs of the Samba HOWTO collection
[2004/05/28 09:33:21, 0] lib/fault.c:fault_report(39)
  ===============================================================
[2004/05/28 09:33:21, 0] lib/util.c:smb_panic(1400)
  PANIC: internal error
[2004/05/28 09:33:21, 0] lib/util.c:smb_panic(1408)
  BACKTRACE: 28 stack frames:
   #0 /usr/sbin/winbindd(smb_panic+0x101) [0x80c2491]
   #1 /usr/sbin/winbindd [0x80b06a8]
   #2 /lib/libc.so.6 [0x4018c658]
   #3 /lib/libc.so.6(malloc+0x93) [0x401d3ed3]
   #4 /lib/libc.so.6 [0x401c2e8f]
   #5 /lib/libc.so.6(fopen+0x2f) [0x401c2f4f]
   #6 /lib/libnss_files.so.2 [0x4039e275]
   #7 /lib/libnss_files.so.2(_nss_files_gethostbyname_r+0x37) [0x4039e747]
   #8 /lib/libc.so.6(gethostbyname_r+0x10b) [0x4024d96b]
   #9 /lib/libc.so.6(gethostbyname+0xf6) [0x4024d2e6]
   #10 /usr/sbin/winbindd(interpret_addr+0x88) [0x80c1bf8]
   #11 /usr/sbin/winbindd(interpret_addr2+0x11) [0x80c1cb1]
   #12 /usr/sbin/winbindd [0x8107075]
   #13 /usr/sbin/winbindd [0x8107685]
   #14 /usr/sbin/winbindd(get_dc_list+0x297) [0x8107e97]
   #15 /usr/sbin/winbindd(get_sorted_dc_list+0x40) [0x8107b70]
   #16 /usr/sbin/winbindd [0x815e94d]
   #17 /usr/sbin/winbindd(ads_connect+0x65) [0x815ebd5]
   #18 /usr/sbin/winbindd [0x816a89e]
   #19 /usr/sbin/winbindd(get_dc_name+0x69) [0x816ad19]
   #20 /usr/sbin/winbindd [0x807cd56]
   #21 /usr/sbin/winbindd(set_dc_type_and_flags+0x65) [0x807dc85]
   #22 /usr/sbin/winbindd [0x80739ad]
   #23 /usr/sbin/winbindd(add_trusted_domains+0x197) [0x8073e37]
   #24 /usr/sbin/winbindd(init_domain_list+0xdf) [0x807407f]
   #25 /usr/sbin/winbindd(main+0x40f) [0x806e6bf]
   #26 /lib/libc.so.6(__libc_start_main+0xc6) [0x40178dc6]
   #27 /usr/sbin/winbindd(chroot+0x35) [0x806ccd1]

There were similar problem reports in February 2004:
ww m-pubsyssamba,     2004-02-04
Christopher Odenbach, 2004-02-10
Since in both messages the advise was to use valgrind to analyze the problem 
(obviously because of the malloc call), I ran winbindd with "valgrind 
--leak-check=yes" and here's the result:


==23407== Memcheck, a memory error detector for x86-linux.
==23407== Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward.
==23407== Using valgrind-2.1.1, a program supervision framework for 
x86-linux.
==23407== Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward.
==23407== For more details, rerun with: -v
==23407==
==23407==
==23407== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 45 from 1)
==23407== malloc/free: in use at exit: 705082 bytes in 390 blocks.
==23407== malloc/free: 2634 allocs, 2244 frees, 1446331 bytes allocated.
==23407== For counts of detected errors, rerun with: -v
==23407== searching for pointers to 390 not-freed blocks.
==23407== checked 5367356 bytes.
==23407==
==23407== 28 bytes in 1 blocks are definitely lost in loss record 10 of 27
==23407==    at 0x3C01F40D: malloc (vg_replace_malloc.c:105)
==23407==    by 0x3C1F196F: strdup (in /lib/libc-2.3.2.so)
==23407==    by 0x80BA887: (within /usr/sbin/winbindd)
==23407==    by 0x80ABA9B: lp_set_logfile (in /usr/sbin/winbindd)
==23407==
==23407== LEAK SUMMARY:
==23407==    definitely lost: 28 bytes in 1 blocks.
==23407==    possibly lost:   0 bytes in 0 blocks.
==23407==    still reachable: 705054 bytes in 389 blocks.
==23407==         suppressed: 0 bytes in 0 blocks.
==23407== Reachable blocks (those to which a pointer was found) are not 
shown.
==23407== To see them, rerun with: --show-reachable=yes
vassil-d:~# ==23409== Conditional jump or move depends on uninitialised 
value(s)
==23409==    at 0x3C0EA05A: krb5_get_cred_via_tkt (in 
/usr/lib/libkrb5.so.3.2)
==23409==    by 0x3C0E981D: (within /usr/lib/libkrb5.so.3.2)
==23409==    by 0x3C0E9CD2: krb5_get_cred_from_kdc (in 
/usr/lib/libkrb5.so.3.2)
==23409==    by 0x3C0EA6D5: krb5_get_credentials (in 
/usr/lib/libkrb5.so.3.2)
==23409==
==23409== Conditional jump or move depends on uninitialised value(s)
==23409==    at 0x3C0EA05A: krb5_get_cred_via_tkt (in 
/usr/lib/libkrb5.so.3.2)
==23409==    by 0x3C0E9AB5: (within /usr/lib/libkrb5.so.3.2)
==23409==    by 0x3C0E9CD2: krb5_get_cred_from_kdc (in 
/usr/lib/libkrb5.so.3.2)
==23409==    by 0x3C0EA6D5: krb5_get_credentials (in 
/usr/lib/libkrb5.so.3.2)

If you need any more information for debugging the problem, I'll be glad to 
provide it- valgrind output with more parameters, system configuration, 
whatever.

Good luck,
Vassil Dichev

_________________________________________________________________
The new MSN 8: advanced junk mail protection and 2 months FREE* 
http://join.msn.com/?page=features/junkmail



More information about the samba mailing list