From: Luca Olivetti on
Hello,

I'm trying to upgrade samba (TPTB are going to introduce win7
workstations) on my old server (mandrake 10.0) currently running 3.0.11.
I setup a virtual machine to do some testing and I built rpms for 3.5.2
(apart from the other problems it has this one
https://bugzilla.samba.org/show_bug.cgi?id=7263) then for 3.4.7 and
finally for 3.3.12.
Each one of them has problems, the most "stable" of the three is 3.3.12.
This one seems to work fine for a machine already in the domain mapping
shares to drives, but it hangs when trying to browse the server or to
add a machine to the domain.
E.g.

[luca(a)localhost samba]$ smbclient -L hp
WARNING: The "printer admin" option is deprecated
Enter luca's password:
Domain=[WETRON] OS=[Unix] Server=[Samba 3.3.12]

Sharename Type Comment
--------- ---- -------
print$ Disk
privado Disk Directorio personal
[....]
scanner Disk
IPC$ IPC IPC Service (Samba Server 3.3.12)
ricoh2 Printer Equipo multifuncional con fax
ricoh1 Printer Impresora para eplan
[.....]
deskjet5800 Printer Impresora HdP en color

[here it hangs for a minute or so]

Receiving SMB: Server stopped responding
session setup failed: Call returned zero bytes (EOF)
NetBIOS over TCP disabled -- no workgroup available
[luca(a)localhost samba]$ smbclient -L hp
WARNING: The "printer admin" option is deprecated
Enter luca's password:
Receiving SMB: Server stopped responding
session setup failed: Call returned zero bytes (EOF)
[luca(a)localhost samba]$ sudo /sbin/service smb status
smbd (pid 4152 4134) is running...
nmbd (pid 4145 4144) is running...


I'm attaching the complete level 10 log, here's an extract at the time
when smbclient hangs (when the time jumps from 14:53:17 to 14:53:57):

[2010/04/29 14:53:17, 4] smbd/uid.c:change_to_user(258)
change_to_user: Skipping user change - already user
[2010/04/29 14:53:17, 4] rpc_server/srv_pipe_hnd.c:get_rpc_pipe(1231)
search for pipe pnum=71ed
[2010/04/29 14:53:17, 5] rpc_server/srv_pipe_hnd.c:get_rpc_pipe(1235)
pipe name srvsvc pnum=71ed (pipes_open=1)
[2010/04/29 14:53:17, 5] smbd/pipes.c:reply_pipe_close(309)
reply_pipe_close: pnum:71ed
[2010/04/29 14:53:17, 10] rpc_server/srv_lsa_hnd.c:close_policy_by_pipe(244)
close_policy_by_pipe: deleted handle list for pipe srvsvc
[2010/04/29 14:53:17, 4] rpc_server/srv_pipe_hnd.c:close_rpc_pipe_hnd(1139)
closed pipe name srvsvc pnum=71ed (pipes_open=0)
[2010/04/29 14:53:17, 10] lib/dbwrap_tdb.c:db_tdb_fetch_locked(100)
Locking key 7372767376632F343330
[2010/04/29 14:53:17, 10] lib/dbwrap_tdb.c:db_tdb_fetch_locked(129)
Allocated locked data 0x0x807ad260
[2010/04/29 14:53:17, 10] lib/dbwrap_tdb.c:db_tdb_record_destr(42)
Unlocking key 7372767376632F343330
[2010/04/29 14:53:17, 5] lib/util.c:show_msg(645)
[2010/04/29 14:53:17, 5] lib/util.c:show_msg(655)
size=35
smb_com=0x4
smb_rcls=0
smb_reh=0
smb_err=0
smb_flg=136
smb_flg2=51201
smb_tid=1
smb_pid=4303
smb_uid=100
smb_mid=8
smt_wct=0
smb_bcc=0
[2010/04/29 14:53:57, 10]
lib/util_sock.c:read_smb_length_return_keepalive(1187)
got smb length of 35
[2010/04/29 14:53:57, 6] smbd/process.c:process_smb(1573)
got message type 0x0 of len 0x23
[2010/04/29 14:53:57, 3] smbd/process.c:process_smb(1576)
Transaction 8 of length 39 (0 toread)
[2010/04/29 14:53:57, 5] lib/util.c:show_msg(645)
[2010/04/29 14:53:57, 5] lib/util.c:show_msg(655)
size=35
smb_com=0x71
smb_rcls=0
smb_reh=0
smb_err=0
smb_flg=8
smb_flg2=51201
smb_tid=1
smb_pid=4303
smb_uid=100
smb_mid=9
smt_wct=0
smb_bcc=0

then a little later:

[2010/04/29 14:53:57, 5] lib/util_sock.c:read_socket_with_timeout(928)
read_socket_with_timeout: blocking read. EOF from client.
[2010/04/29 14:53:57, 10] smbd/process.c:receive_smb_raw_talloc(280)
receive_smb_raw: NT_STATUS_END_OF_FILE
[2010/04/29 14:53:57, 3] smbd/process.c:smbd_process(1952)
receive_message_or_smb failed: NT_STATUS_END_OF_FILE, exiting
[2010/04/29 14:53:57, 5] lib/gencache.c:gencache_shutdown(93)
Closing cache file
[2010/04/29 14:53:57, 5] libsmb/namecache.c:namecache_shutdown(81)
namecache_shutdown: netbios namecache closed successfully.
[2010/04/29 14:53:57, 3] smbd/sec_ctx.c:set_sec_ctx(324)
setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2010/04/29 14:53:57, 5] auth/token_util.c:debug_nt_user_token(522)
NT user token: (NULL)
[2010/04/29 14:53:57, 5] auth/token_util.c:debug_unix_user_token(548)
UNIX token of user 0
Primary group is 0 and contains 0 supplementary groups
[2010/04/29 14:53:57, 5] smbd/uid.c:change_to_root_user(370)
change_to_root_user: now uid=(0,0) gid=(0,0)
[2010/04/29 14:53:57, 10] lib/dbwrap_tdb.c:db_tdb_fetch_locked(100)
Locking key 49442F343330342F3130
[2010/04/29 14:53:57, 10] lib/dbwrap_tdb.c:db_tdb_fetch_locked(129)
Allocated locked data 0x0x807b3248
[2010/04/29 14:53:57, 10] lib/dbwrap_tdb.c:db_tdb_record_destr(42)
Unlocking key 49442F343330342F3130
[2010/04/29 14:53:57, 3] smbd/connection.c:yield_connection(31)
Yielding connection to
[2010/04/29 14:53:57, 10] lib/dbwrap_tdb.c:db_tdb_fetch_locked(100)
Locking key D0100000FFFFFFFF0000
[2010/04/29 14:53:57, 10] lib/dbwrap_tdb.c:db_tdb_fetch_locked(129)
Allocated locked data 0x0x807b4190
[2010/04/29 14:53:57, 10] lib/dbwrap_tdb.c:db_tdb_record_destr(42)
Unlocking key D0100000FFFFFFFF0000
[2010/04/29 14:53:57, 3] smbd/server.c:exit_server_common(980)
Server exit (normal exit)

Since the problems are similar for the 3 versions of samba, I suspect
that one of the old system libraries is the cause of the problem:

#ldd /usr/sbin/smbd
linux-gate.so.1 => (0xffffe000)
libldap.so.2 => /usr/lib/libldap.so.2 (0x40021000)
liblber.so.2 => /usr/lib/liblber.so.2 (0x40055000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x40061000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x40075000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x400ea000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x40112000)
libresolv.so.2 => /lib/libresolv.so.2 (0x40115000)
libcups.so.2 => /usr/lib/libcups.so.2 (0x40127000)
libssl.so.0.9.7 => /usr/lib/libssl.so.0.9.7 (0x40145000)
libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0x40177000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4027a000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4028d000)
libpam.so.0 => /lib/libpam.so.0 (0x402ba000)
libacl.so.1 => /lib/libacl.so.1 (0x402c3000)
libattr.so.1 => /lib/libattr.so.1 (0x402ca000)
libcap.so.1 => /lib/libcap.so.1 (0x402ce000)
libdl.so.2 => /lib/libdl.so.2 (0x402d2000)
libpopt.so.0 => /lib/libpopt.so.0 (0x402d5000)
libtalloc.so.1 => /usr/lib/libtalloc.so.1 (0x402dd000)
libtdb.so.1 => /usr/lib/libtdb.so.1 (0x402e4000)
libwbclient.so.0 => /usr/lib/libwbclient.so.0 (0x402f0000)
libc.so.6 => /lib/tls/libc.so.6 (0x402fb000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x40443000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

these come from:

openldap 2.1.25
kerberos5 1.3
e2fsprogs 1.34
cups 1.1.20
openssl 0.9.7c
glibc 2.3.3
pam 0.77
attr 2.4.14
acl 2.2.22
popt 1.8.2
sasl 2.1.15

(libtalloc, libtdb, libwbclient are the ones that come with samba 3.3.12
here).

and, minus libtalloc, libtdb and libwbclient, are the same libraries
used by the currently working 3.0.11
Any one of those seem suspect?

Bye
--
Luca Olivetti
Wetron Automatizaci�n S.A. http://www.wetron.es/
Tel. +34 93 5883004 (Ext.133) Fax +34 93 5883007