John Kaiser <jkaiser-po...@mcpind.com> writes:

> I am running Samba 4.3.8 on OpenBSD 5.9 release + patches 1,2,&3,
> compiled after doing cvs to ports stable.  The goal of course, was to
> get past the badlock vulnerabilities.  The problem server is configured
> as an NT style domain controller, no AD.
>
> I am having trouble with the nmbd process.  It keeps on pegging the cpu,
> then starting a new copy which then pegs the next cpu.  It looks like
> this in top.
>
>   PID USERNAME PRI NICE  SIZE   RES STATE     WAIT      TIME    CPU
> COMMAND
>   632 root      64    0 1168K 2756K onproc    -        23:25 99.02% nmbd
> 17969 root      64    0 1180K 2796K onproc    -        12:12 99.02% nmbd
> 25199 root      64    0 1168K 2272K onproc    -         7:24 99.02% nmbd
> 21685 root      64    0 1172K 2260K onproc    -         2:09 99.02% nmbd
>
> I can not find anything in the logs which gives me any clue.
>
> To try and get some idea of what is going wrong, I ran gdb and attached
> to the running nmbd process.  The typical backtrace looks like this,
> where rthread_cancel can be at lines 176, 198, or 204:
>
> (gdb) bt
> #0  0x00001c7153f6046a in connect () at <stdin>:2
> #1  0x00001c71129b717d in connect (fd=24, addr=0x1c7139fa5a20,
> addrlen=16)
>     at /usr/src/lib/librthread/rthread_cancel.c:176
> #2  0x00001c7086e358d8 in async_connect_send ()
>    from /usr/local/lib/samba/libsmb-transport-samba4.so
> #3  0x00001c71023c5cb1 in open_socket_out_connected ()
>    from /usr/local/lib/libsmbconf.so.0.0
> #4  0x00001c7091cf7659 in tevent_common_loop_immediate ()
>    from /usr/local/lib/libtevent.so.0.1
> #5  0x00001c71023d7c9a in run_events_poll () from
> /usr/local/lib/libsmbconf.so.0.0
> #6  0x00001c71023d82a0 in s3_event_loop_once () from
> /usr/local/lib/libsmbconf.so.0.0
> #7  0x00001c7091cf6ab1 in _tevent_loop_once () from
> /usr/local/lib/libtevent.so.0.1
> #8  0x00001c7091cf801b in tevent_req_poll () from
> /usr/local/lib/libtevent.so.0.1
> #9  0x00001c7095c76466 in tevent_req_poll_ntstatus ()
>    from /usr/local/lib/libtevent-util.so.0.0
> #10 0x00001c707ddb8552 in cli_connect_nb ()
>    from /usr/local/lib/samba/liblibsmb-samba4.so
> #11 0x00001c6e64325106 in sync_browse_lists () from /usr/local/sbin/nmbd
> #12 0x00001c6e6430c1b6 in sync_all_dmbs () from /usr/local/sbin/nmbd
> #13 0x00001c6e6430957a in main () from /usr/local/sbin/nmbd
> Current language:  auto; currently asm

Thanks for your report!

> Is there a way out of this?

With "log level = 2" in smb.conf you should see which machines nmbd
tries to reach.  Maybe the behavior is triggered by a restrictive
firewall policy?  With "enhanced browsing = no" the problem *may*
disappear.

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to