Bug 1137 - smbstatus hung's
smbstatus hung's
Status: CLOSED FIXED
Product: Samba 3.0
Classification: Unclassified
Component: winbind
3.0.2
All Solaris
: P3 normal
: none
Assigned To: Gerald (Jerry) Carter
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2004-02-28 07:11 UTC by Dominik Guennel
Modified: 2005-08-24 10:19 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dominik Guennel 2004-02-28 07:11:59 UTC
source 3.0.2a and 3.0.1 compiled with gcc on solaris 9.
Configured as Domain Member.
Connect from PC to share works, but if i want to use the smbstatus command on 
the sambaserver the commmand hungs - forever.
I saw follwing output:
Samba version 3.....
PID    Username   Group  Machine
----------------------------------

and now it hungs.
What happends.

on the same System with version 2.2.8a everything works great.

i can't saw any Error during compile or config.
Comment 1 Gerald (Jerry) Carter 2004-03-16 11:45:54 UTC
please run truss and see where smbstatus is hung
(and include the output in this report).   Thanks.
Comment 2 Dominik Guennel 2004-03-26 03:14:54 UTC
Jerry - here is the output from truss smbstatus:
execve("/usr/local/samba/bin/smbstatus", 0xFFBFFAD4, 0xFFBFFADC)  argc = 1
resolvepath("/usr/local/samba/bin/smbstatus", "/usr/local/samba/bin/smbstatus", 
1023) = 30
resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
stat("/usr/local/samba/bin/smbstatus", 0xFFBFF8A8) = 0
open("/var/ld/ld.config", O_RDONLY)             Err#2 ENOENT
stat("/usr/lib/libsendfile.so.1", 0xFFBFF1EC)   = 0
open("/usr/lib/libsendfile.so.1", O_RDONLY)     = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF3B0000
mmap(0x00000000, 81920, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF390000
mmap(0xFF3A2000, 348, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 
8192) = 0xFF3A2000
munmap(0xFF392000, 65536)                       = 0
resolvepath("/usr/lib/libsendfile.so.1", "/usr/lib/libsendfile.so.1", 1023) = 25
memcntl(0xFF390000, 1212, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libsec.so.1", 0xFFBFF1EC)        = 0
open("/usr/lib/libsec.so.1", O_RDONLY)          = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF3B0000
mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF370000
mmap(0xFF384000, 910, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 
16384) = 0xFF384000
munmap(0xFF374000, 65536)                       = 0
resolvepath("/usr/lib/libsec.so.1", "/usr/lib/libsec.so.1", 1023) = 20
memcntl(0xFF370000, 2348, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libgen.so.1", 0xFFBFF1EC)        = 0
open("/usr/lib/libgen.so.1", O_RDONLY)          = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF3B0000
mmap(0x00000000, 98304, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF350000
mmap(0xFF366000, 2343, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 24576) = 0xFF366000
munmap(0xFF356000, 65536)                       = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -
1, 0) = 0xFF340000
resolvepath("/usr/lib/libgen.so.1", "/usr/lib/libgen.so.1", 1023) = 20
memcntl(0xFF350000, 6304, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libresolv.so.2", 0xFFBFF1EC)     = 0
open("/usr/lib/libresolv.so.2", O_RDONLY)       = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF3B0000
mmap(0x00000000, 303104, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF2F0000
mmap(0xFF334000, 16508, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 212992) = 0xFF334000
munmap(0xFF324000, 65536)                       = 0
resolvepath("/usr/lib/libresolv.so.2", "/usr/lib/libresolv.so.2", 1023) = 23
memcntl(0xFF2F0000, 32716, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libsocket.so.1", 0xFFBFF1EC)     = 0
open("/usr/lib/libsocket.so.1", O_RDONLY)       = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF3B0000
mmap(0x00000000, 114688, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF2D0000
mmap(0xFF2EA000, 4333, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 40960) = 0xFF2EA000
munmap(0xFF2DA000, 65536)                       = 0
resolvepath("/usr/lib/libsocket.so.1", "/usr/lib/libsocket.so.1", 1023) = 23
memcntl(0xFF2D0000, 13792, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libnsl.so.1", 0xFFBFF1EC)        = 0
open("/usr/lib/libnsl.so.1", O_RDONLY)          = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF3B0000
mmap(0x00000000, 712704, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF200000
mmap(0xFF29E000, 32620, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 581632) = 0xFF29E000
mmap(0xFF2A6000, 30792, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF2A6000
munmap(0xFF28E000, 65536)                       = 0
resolvepath("/usr/lib/libnsl.so.1", "/usr/lib/libnsl.so.1", 1023) = 20
memcntl(0xFF200000, 81668, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libdl.so.1", 0xFFBFF1EC)         = 0
open("/usr/lib/libdl.so.1", O_RDONLY)           = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0xFF3B0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF3B0000
resolvepath("/usr/lib/libdl.so.1", "/usr/lib/libdl.so.1", 1023) = 19
close(3)                                        = 0
stat("/usr/lib/libiconv.so.2", 0xFFBFF1EC)      Err#2 ENOENT
stat("/usr/local/lib/libiconv.so.2", 0xFFBFF1EC) = 0
open("/usr/local/lib/libiconv.so.2", O_RDONLY)  = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF2C0000
mmap(0x00000000, 966656, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF100000
mmap(0xFF1E8000, 11560, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 884736) = 0xFF1E8000
munmap(0xFF1DA000, 57344)                       = 0
resolvepath
("/usr/local/lib/libiconv.so.2.2.0", "/usr/local/lib/libiconv.so.2.2.0", 1023) 
= 32
memcntl(0xFF100000, 11076, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
open("/usr/lib/libc.so.1", O_RDONLY)            = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0xFF2C0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF2C0000
mmap(0x00000000, 802816, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF000000
mmap(0xFF0BC000, 24464, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 704512) = 0xFF0BC000
mmap(0xFF0C2000, 6580, PROT_READ|PROT_WRITE|PROT_EXEC, 
MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF0C2000
munmap(0xFF0AC000, 65536)                       = 0
resolvepath("/usr/lib/libc.so.1", "/usr/lib/libc.so.1", 1023) = 18
memcntl(0xFF000000, 117232, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
stat("/usr/lib/libdl.so.1", 0xFFBFF1EC)         = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
stat("/usr/lib/libsocket.so.1", 0xFFBFF1EC)     = 0
stat("/usr/lib/libnsl.so.1", 0xFFBFF1EC)        = 0
stat("/usr/lib/libdl.so.1", 0xFFBFF1EC)         = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
stat("/usr/lib/libnsl.so.1", 0xFFBFF1EC)        = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
stat("/usr/lib/libdl.so.1", 0xFFBFF1EC)         = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
stat("/usr/lib/libmp.so.2", 0xFFBFF1EC)         = 0
open("/usr/lib/libmp.so.2", O_RDONLY)           = 3
fstat(3, 0xFFBFF1EC)                            = 0
mmap(0xFF2C0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF2C0000
mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF0E0000
mmap(0xFF0F4000, 849, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 
16384) = 0xFF0F4000
munmap(0xFF0E4000, 65536)                       = 0
resolvepath("/usr/lib/libmp.so.2", "/usr/lib/libmp.so.2", 1023) = 19
memcntl(0xFF0E0000, 2464, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
stat("/usr/lib/libdl.so.1", 0xFFBFF1EC)         = 0
stat("/usr/lib/libc.so.1", 0xFFBFF1EC)          = 0
stat("/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1", 0xFFBFEFFC) = 0
open("/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1", O_RDONLY) = 3
fstat(3, 0xFFBFEFFC)                            = 0
mmap(0xFF2C0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 
0xFF2C0000
mmap(0x00000000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF0D0000
resolvepath
("/usr/platform/sun4u/lib/libc_psr.so.1c_psr.so.1", "/usr/platform/sun4u/lib/lib
c_psr.so.1", 1023) = 37
close(3)                                        = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -
1, 0) = 0xFEFF0000
munmap(0xFF2C0000, 8192)                        = 0
context(2, 0xFFBFF714)
getrlimit(RLIMIT_STACK, 0xFFBFF70C)             = 0
getcontext(0xFFBFF548)
context(3, 0xFF0C393C)
brk(0x000AEB00)                                 = 0
brk(0x000B0B00)                                 = 0
getuid()                                        = 0 [0]
getuid()                                        = 0 [0]
stat64("/usr/local/samba/lib/smb.conf", 0xFFBFF360) = 0
uname(0xFFBFE620)                               = 1
open64("/usr/local/samba/lib/smb.conf", O_RDONLY) = 3
fstat64(3, 0xFFBFF280)                          = 0
brk(0x000B0B00)                                 = 0
brk(0x000B2B00)                                 = 0
read(3, " #   S a m b a   c o n f".., 1601)     = 1601
close(3)                                        = 0
brk(0x000B2B00)                                 = 0
brk(0x000B4B00)                                 = 0
stat("/usr/lib/locale/de/de.so.2", 0xFFBFE474)  = 0
open("/usr/lib/locale/de/de.so.2", O_RDONLY)    = 3
fstat(3, 0xFFBFE474)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF2C0000
mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFEFD0000
mmap(0xFEFE2000, 8822, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 8192) = 0xFEFE2000
munmap(0xFEFD4000, 57344)                       = 0
resolvepath("/usr/lib/locale/de_DE.ISO8859-1/de_DE.ISO8859-
1.so.2", "/usr/lib/locale/de_DE.ISO8859-1/de_DE.ISO8859-1.so.2"
, 1023) = 52
memcntl(0xFEFD0000, 6816, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libc.so.1", 0xFFBFE3B4)          = 0
munmap(0xFF2C0000, 8192)                        = 0
stat("/usr/lib/locale/de_DE.ISO8859-15/de_DE.ISO8859-15.so.2", 0xFFBFE474) = 0
open("/usr/lib/locale/de_DE.ISO8859-15/de_DE.ISO8859-15.so.2", O_RDONLY) = 3
fstat(3, 0xFFBFE474)                            = 0
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF2C0000
mmap(0x00000000, 90112, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFEFB0000
mmap(0xFEFC2000, 8822, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
3, 8192) = 0xFEFC2000
munmap(0xFEFB4000, 57344)                       = 0
resolvepath("/usr/lib/locale/de_DE.ISO8859-15/de_DE.ISO8859-
15.so.2", "/usr/lib/locale/de_DE.ISO8859-15/de_DE.ISO8859-15.s
o.2", 1023) = 54
memcntl(0xFEFB0000, 6816, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3)                                        = 0
stat("/usr/lib/libc.so.1", 0xFFBFE3B4)          = 0
munmap(0xFF2C0000, 8192)                        = 0
brk(0x000B4B00)                                 = 0
brk(0x000B6B00)                                 = 0

open64("/usr/local/samba/lib/upcase.dat", O_RDONLY) = 3
mmap64(0x00000000, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0xFEF80000
close(3)                                        = 0
open64("/usr/local/samba/lib/lowcase.dat", O_RDONLY) = 3
mmap64(0x00000000, 131072, PROT_READ, MAP_SHARED, 3, 0) = 0xFEF50000
close(3)                                        = 0
open64("/usr/local/samba/lib/valid.dat", O_RDONLY) = 3
mmap64(0x00000000, 65536, PROT_READ, MAP_SHARED, 3, 0) = 0xFEF30000
close(3)                                        = 0
stat64("/usr/local/samba/var/locks", 0xFFBFF7D0) = 0
open64("/usr/local/samba/var/locks/sessionid.tdb", O_RDONLY) = 3
read(3, " T D B   f i l e\n\0\0\0".., 168)      = 168
fstat64(3, 0xFFBFF7D0)                          = 0
mmap64(0x00000000, 24576, PROT_READ, MAP_SHARED, 3, 0) = 0xFF2C0000
ioctl(1, TCGETA, 0xFFBFF5D4)                    = 0
fstat64(1, 0xFFBFF4F0)                          = 0

write(1, "\n", 1)                               = 1
Samba version 3.0.2a
write(1, " S a m b a   v e r s i o".., 21)      = 21
PID     Username      Group         Machine                        
write(1, " P I D           U s e r".., 68)      = 68
-------------------------------------------------------------------
write(1, " - - - - - - - - - - - -".., 68)      = 68
kill(368, SIG#0)                                = 0
open64("/var/run/name_service_door", O_RDONLY)  = 4
fcntl(4, F_SETFD, 0x00000001)                   = 0
door_info(4, 0xFF0C2660)                        = 0
door_call(4, 0xFFBFEB88)                        = 0
door_info(4, 0xFFBFEBA0)                        = 0
door_call(4, 0xFFBFEB88)                        = 0
brk(0x000B6B00)                                 = 0
brk(0x000B8B00)                                 = 0
door_info(4, 0xFFBFD088)                        = 0
door_call(4, 0xFFBFD070)        (sleeping...)
    Received signal #20, SIGWINCH, in door_call() [default]
door_call(4, 0xFFBFD070)        (sleeping...)
    Received signal #20, SIGWINCH [default]
door_call(4, 0xFFBFD070)        (sleeping...)
    Received signal #20, SIGWINCH [default]
door_call(4, 0xFFBFD070)        (sleeping...)
    Received signal #20, SIGWINCH [default]
door_call(4, 0xFFBFD070)        (sleeping...)

It looks like a problem with winbind ??.



Comment 3 Dominik Guennel 2004-03-26 03:27:49 UTC
On new Info:
I changed the binary for winbindd from Version 3.02 to the binary from Version 
3.01 - an smbstatus works.

So it looks like an problem within winbindd - or ??

Best regards - Dominik
Comment 4 Gerald (Jerry) Carter 2004-03-26 05:43:02 UTC
when you upgrade winbindd you have to upgrade 
/lib/nss_winbind.so.1 as well.  Sounds like you 
didn't upgrade the nss lib when you moved to 
3.0.2.


Comment 5 Dominik Guennel 2004-04-19 06:23:20 UTC
i'd verify the lib's with the libs in the source dir.
the libs are from Version 3.02 ( i checkd thich with cksum..).
But i think that is the right way, if there is no connection to samba then the 
smbstatus works. so there is nothing to resolve. With an active connection the 
smbstatus hungs as described.
I go to remove the complete samba installation and restart on a plain field.
status hopefully in 3 days.


Comment 6 Dominik Guennel 2004-04-20 09:00:13 UTC
back again:
- samba removed complete from system
- compile with latest gcc version (3.3.2)
- install

found following problem ( or missing information ) during winbindd installation:
i copied the libnss_winbind.so to /usr/lib/libnss_winbind.so and create the 
links to libnss_winbind.so.1 and libnss_winbind.so.2 ( for compatibility ).

Start all Processes ( include winbind )
TEST:
=====
test with wbinfo -g and wbinfo -u -->> OK
test with getent passwd and getent group -->> ERROR: Shows only local 
information.

run: truss getent passwd
>>>....
stat("/usr/lib/nss_winbind.so.1", 0xFFBFF0DC)   Err#2 ENOENT
stat("/usr/local/lib/nss_winbind.so.1", 0xFFBFF0DC) Err#2 ENOENT
stat("/usr/include/nss_winbind.so.1", 0xFFBFF0DC) Err#2 ENOENT
stat("/usr/include/sys/nss_winbind.so.1", 0xFFBFF0DC) Err#2 ENOENT
stat("/usr/lib/nss_winbind.so.1", 0xFFBFF0DC)   Err#2 ENOENT
<<<<...

ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so 
ln -s /usr/lib/libnss_winbind.so /usr/lib/nss_winbind.so.1

OK getent works now.
!! Thank's a lot for your tip !!


But the smbstatus hungs as described.

I tested with net status:
net status shared --> OK
net status sessions --> ERROR: it hungs like smbstatus

From the Windows view looks everything fine, i can map drives with the Domain 
Authorisation.

But the trouble must be in the near of winbind because it is not possible to 
resolve the uid or group that are in the idmap range (10000-20000).
TEST:
=====
touch test1
chown 10000:10002 test1
ls -l --> ERROR: it hungs (Ctrl-C)

testing the same thing with an 2.2.8a installation (connected to the same 
Domain) works fine - user and group are resolved.

Hmmm - whats next.
took a look in configure.log:
found a lot of messages like:
configure:2375:28: ac_nonexistent.h: No such file or directory
configure:5267:20: sys/id.h: No such file or directory
and
ld: fatal: File processing errors. No output written to conftest
ld: fatal: Symbol referencing errors. No output written to conftest

No further idea from my side.

Any hints or tips ?
Best regards 
Dominik


Comment 7 Gerald (Jerry) Carter 2005-02-11 07:22:49 UTC
does look like winbindd is the issue.  Lots of changes since 
the original report.  Please retest against 3.0.11 and reopen 
if the bug still exists.
Comment 8 Gerald (Jerry) Carter 2005-08-24 10:19:51 UTC
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.