On Tue, Aug 5, 2008 at 5:01 PM, David Eisner <[EMAIL PROTECTED]> wrote: > I've compiled (with Sun Studio cc) and installed samba-3.2.1 on a > Solaris 10 x64 box, which is a member of a (Windows Server 2003 > controlled) domain. I previously had samba 3.0.28a running on the > same machine without any problems. Now winbindd is eating up all of > the CPU (on the CPU it's assigned to). ... > Is this potentially a known bug?
Guess not. Here's some more information. First, this is what I see with top: PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND 2005 root 1 20 0 231M 221M cpu/1 2:46 49.96% winbindd 2006 root 1 54 0 17M 6792K sleep 0:26 3.87% winbindd First some poor man's profiling: When I attach a debugger to the parent process (pid 2005), and suspend it, the stack typically looks like this: (dbx) where current thread: [EMAIL PROTECTED] [1] __pollsys(0x8047550, 0x4, 0x8047630, 0x0), at 0xfe8f51d7 [2] _pollsys(0x8047550, 0x4, 0x8047630, 0x0), at 0xfe8e98a4 [3] _pselect(0x11, 0x8047750, 0x80477d0, 0xfe920318, 0x8047630, 0x0), at 0xfe8a317a [4] _select(0x11, 0x8047750, 0x80477d0, 0x0, 0x8047850), at 0xfe8a3470 =>[5] sys_select(maxfd = 17, readfds = 0x8047750, writefds = 0x80477d0, errorfds = (nil), tval = 0x8047850), line 93 in "select.c" [6] process_loop(), line 911 in "winbindd.c" [7] main(argc = 2, argv = 0x8047b60, envp = 0x8047b6c), line 1283 in "winbindd.c" (dbx) [I could only get dbx to work -- gdb complained and dumped core]. And when I attach to the child process, which uses less CPU, I see this: (dbx) where current thread: [EMAIL PROTECTED] [1] __pollsys(0x8045b50, 0x2, 0x0, 0x0), at 0xfe8f51d7 [2] _pollsys(0x8045b50, 0x2, 0x0, 0x0), at 0xfe8e98a4 [3] _pselect(0x12, 0x80473a8, 0xfe920318, 0xfe920318, 0x0, 0x0), at 0xfe8a317a [4] _select(0x12, 0x80473a8, 0x0, 0x0, 0x0), at 0xfe8a3470 =>[5] sys_select(maxfd = 18, readfds = 0x80473a8, writefds = (nil), errorfds = (nil), tval = (nil)), line 93 in "select.c" [6] fork_domain_child(child = 0x885a2fc), line 1178 in "winbindd_dual.c" [7] schedule_async_request(child = 0x885a2fc), line 297 in "winbindd_dual.c" [8] async_request(mem_ctx = 0x8854a78, child = 0x885a2fc, request = 0x88535f0, response = 0x885b170, continuation = 0x815c810 = &`winbindd`winbindd_util.c`init_child_recv(void *private_data, _Bool success), private_data = 0x8853e58), line 141 in "winbindd_dual.c" [9] init_child_connection(domain = 0x8859d38, continuation = 0x8193f60 = &`winbindd`winbindd_dual.c`domain_init_recv(void *private_data_data, _Bool success), private_data = 0x88596f0), line 573 in "winbindd_util.c" [10] async_domain_request(mem_ctx = 0x8856570, domain = 0x8859d38, request = 0x88524a0, response = 0x885a390, continuation = 0x815b74c = &`winbindd`winbindd_util.c`trustdom_recv(void *private_data, _Bool success), private_data_data = 0x8856930), line 359 in "winbindd_dual.c" [11] add_trusted_domains(domain = 0x8859d38), line 249 in "winbindd_util.c" [12] rescan_trusted_domains(), line 510 in "winbindd_util.c" [13] process_loop(), line 862 in "winbindd.c" [14] main(argc = 2, argv = 0x8047b60, envp = 0x8047b6c), line 1283 in "winbindd.c" By the way, this is with samba recompiled with debugging enabled and no optimization. I'll continue slogging through the code, but if anybody can tell from this where the problem might be, please let me know. Thanks. -David -- David Eisner http://cradle.brokenglass.com -- To unsubscribe from this list go to the following URL and read the instructions: https://lists.samba.org/mailman/listinfo/samba