With Samba on Debian Lenny joined to a Server 2003 Native domain that has two
incoming non-transitive trusts (users in my domain can authenticate to the
foreign domains, but their users cannot authenticate to us) winbind is taking a
very long time to authenticate or list users the first time it is used after
starting. Winbind blocks for four to five minutes, and anything that touches
winbind will also block. For example if /etc/nsswitch.conf is configured as
"passwd: files winbind" then logins will block until winbind clears.
After the long delay, winbind returns it's data as usual, and subsequent
calls to winbind do not block until winbind is restarted for some reason
(logrotate, etc.)
I can work around this issue by setting "winbind use rpc only = Yes"
in smb.conf. In this case I do not see the blocks at all.
If that line is not included, winbind seems to have difficulty in listing
domains and returns garbage values for winbind -m:
?~&?o4?*???*????&?*??
?o4??(tm)
JUNEAU_NT
LIBRARY
?
PD-DOMAIN
An excerpt from log.wb-JUNEAU_NT is pasted below. That log excerpt was
generated by stopping winbind and then logging in as root on another virtual
console.
This does NOT happen with 3.0.x (Etch is still in production, Lenny worked just
fine before the move to 3.2.0), but DOES happen with 3.2.x (So far 3.2.0, 3.2.1
and 3.2.3 -- I'm using Debian skipped 3.2.2).
I created a test samba install with nothing but the base Lenny packages +
Samba/Kerberos, joined my production domain and it exhibits the same behavior.
I created a test domain with an eval copy of Server 2003, raised it to native,
and joined another Lenny box with the same packages to the contoso.com domain
without trusts, and Samba works perfectly.
So I believe the trusts are the problem. So far I seem to be the only one
seeing this issue. Is there something else I could do to provide enough
information to debug it?
James
================================
[2008/08/31 21:05:01, 3]
winbindd/winbindd_async.c:winbindd_dual_lookupname(442)
[ 6747]: lookupname JUNEAU_NT+root
[2008/08/31 21:05:01, 3]
winbindd/winbindd_async.c:winbindd_dual_lookupname(442)
[ 6747]: lookupname JUNEAU_NT+root
[2008/08/31 21:06:01, 3]
winbindd/winbindd_misc.c:winbindd_dual_list_trusted_domains(362)
[ 6747]: list trusted domains
[2008/08/31 21:06:01, 3] winbindd/winbindd_ads.c:trusted_domains(1167)
ads: trusted_domains
[2008/08/31 21:06:01, 3] rpc_client/cli_pipe.c:rpc_pipe_bind(2086)
rpc_pipe_bind: Remote machine city-dc1-w3s.juneau.local pipe \NETLOGON fnum
0x8007 bind request returned ok.
[2008/08/31 21:06:01, 3] rpc_client/cli_pipe.c:rpc_pipe_bind(2086)
rpc_pipe_bind: Remote machine city-dc1-w3s.juneau.local pipe \NETLOGON fnum
0x8006 bind request returned ok.
[2008/08/31 21:06:01, 0] lib/util_sid.c:string_to_sid(247)
string_to_sid: Sid S-0-0 is not in a valid format.
[2008/08/31 21:06:01, 0] lib/util_sid.c:string_to_sid(247)
string_to_sid: Sid S-0-0 is not in a valid format.
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( o
* * * )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( o *
* * )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(616)
convert_string_allocate: Conversion error: Illegal multibyte sequence( o * *
* )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(616)
convert_string_allocate: Conversion error: Illegal multibyte sequence( * *
* )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( *
* )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( *
* )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( *
* )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence(
* )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( *
)
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( *
)
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( *
)
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(616)
convert_string_allocate: Conversion error: Illegal multibyte sequence( * )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence( )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(616)
convert_string_allocate: Conversion error: Illegal multibyte sequence( o )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(616)
convert_string_allocate: Conversion error: Illegal multibyte sequence( )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(616)
convert_string_allocate: Conversion error: Illegal multibyte sequence( )
[2008/08/31 21:06:01, 3] lib/charcnv.c:convert_string_allocate(607)
convert_string_allocate: Conversion error: Incomplete multibyte sequence()
*** glibc detected *** /usr/sbin/winbindd: malloc(): memory corruption (fast):
0x089c4720 ***
======= Backtrace: ========/lib/i686/cmov/libc.so.6[0xb7cf94f4]
/lib/i686/cmov/libc.so.6[0xb7cfc4ae]
/lib/i686/cmov/libc.so.6(__libc_malloc+0x95)[0xb7cfd525]
/lib/i686/cmov/libc.so.6(vasprintf+0x128)[0xb7cf2068]
/lib/i686/cmov/libc.so.6(asprintf+0x2b)[0xb7cd457b]
/usr/sbin/winbindd[0x809aa42]
/usr/sbin/winbindd[0x809adc6]
/usr/sbin/winbindd(wcache_tdc_add_domain+0x337)[0x809c195]
/usr/sbin/winbindd[0x80b411c]
/usr/sbin/winbindd[0x809daf2]
/usr/sbin/winbindd(winbindd_dual_list_trusted_domains+0xc1)[0x80abc91]
/usr/sbin/winbindd[0x80bb2ef]
/usr/sbin/winbindd[0x80bb4bd]
/usr/sbin/winbindd(winbind_child_died+0x145)[0x80bb65d]
/usr/sbin/winbindd[0x80bbfd6]
/usr/sbin/winbindd[0x80bc341]
/usr/sbin/winbindd[0x80bc4fa]
/usr/sbin/winbindd(run_events+0x134)[0x813b439]
/usr/sbin/winbindd(main+0xd58)[0x808dc87]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7ca1455]
/usr/sbin/winbindd[0x808b7c1]
======= Memory map: =======08048000-08341000 r-xp 00000000 03:05 392481
/usr/sbin/winbindd
08341000-08346000 r--p 002f8000 03:05 392481 /usr/sbin/winbindd
08346000-0834d000 rw-p 002fd000 03:05 392481 /usr/sbin/winbindd
0834d000-0834e000 rw-p 0834d000 00:00 0
08948000-08afd000 rw-p 08948000 00:00 0 [heap]
b7700000-b7721000 rw-p b7700000 00:00 0
b7721000-b7800000 ---p b7721000 00:00 0