When I stop bro (in cluster mode), one of the bro worker process (random) would get stuck and wouldn't shutdown, stop or even be killed using kill -s 9.
System has to be ultimately rebooted to remove stuck bro process.
On running myri_start_stop I see:
kldunload: can't unload file: Device busy
It appears that the myri_snf.ko driver cannot be unloaded because of the stuck bro process. That process still has an open descriptor on the Sniffer device/driver and bro process freezes
The bro process is stuck in RNE state
R Marks a runnable process.
N The process has reduced CPU scheduling priority (see setpriority(2)).
E The process is trying to exit.
Here is an example:
[bro@01 ~]$ ps auxwww | fgrep 1616
bro 1616 100.0 0.0 758040 60480 ?? RNE 2:57PM 53:50.04 /usr/local/bro-git/bin/bro -i myri0 -U .status -p broctl -p broctl-live -p local -p worker-1-1 mgr.bro broctl base/frameworks/cluster local-worker.bro broctl/auto
####when checking for process in proc:
[bro@c ~]$ ls -l /proc/1616
ls: /proc/1616: No such file or directory
OS: FreeBSD 9.3-RELEASE-p5 OS
bro version 2.3-328
git log -1 --format="%H"