bro hangs on freebsd when running broctl update

Description

After the broker merge, I noticed that the broctl test suite would often
hang when running on FreeBSD. This is caused by the "broctl update"
command hanging. This happens very often on FreeBSD, and is easy
to reproduce.

How to reproduce:
1) On FreeBSD 10 or 11, build and install bro from git master,
2) edit node.cfg, use a cluster config
3) broctl deploy
4) broctl update (if it doesn't hang the first time, just try "broctl update" again until it hangs)

The bro process spawned by the "share/broctl/scripts/update" script hangs,
and can be killed only with "kill -9".

I have also seen this result (doesn't hang in this case):
$ bin/broctl update
warning: 'update' is deprecated and will be removed in a future version.
updating manager ...
updating proxy-1 ...
updating worker-1 ...
updating worker-2 ...
manager: /home/bro/install/share/bro/policy/frameworks/control/controller.bro, line 136: Control framework sent 381 IDs
proxy-1: /home/bro/install/share/bro/policy/frameworks/control/controller.bro, line 136: Control framework sent 381 IDs
worker-1: /home/bro/install/share/bro/policy/frameworks/control/controller.bro, line 136: Control framework sent 382 IDs
failed to update worker-2: /home/bro/install/share/broctl/scripts/update: line 49: 95851 Abort trap (core dumped) "${bro}" "$@" frameworks/control/controller "Control::host=$host" "Control::host_port=$port" "Control::cmd=configuration_update" > out.log 2>&1
/home/bro/install/share/bro/policy/frameworks/control/controller.bro, line 136: Control framework sent 382 IDs
/home/bro/install/share/bro/policy/frameworks/control/controller.bro, line 136: Control framework sent 382 IDs
failed to get peers: error(4, 'system')

Environment

None

Assignee

Unassigned

Reporter

Daniel Thayer

Labels

None

External issue ID

None

Components

Fix versions

Priority

Normal
Configure