I have a root server (moon) sitting on two local networks accessible on two interfaces eth0 and eth1 from ZT client. ZT recognizes the two path and after a while combines them via bonding (active-backup). CLI call bond deadbeef00 show
gives:
Bond : active-backup
Links : 9/9
Now if I try to rotate the bond with that ID, zerotier-one (service/binary) crashes and I get this output in CLI:
zerotier-cli bond <peerId> rotate
0 bond
The crashed zerotier-one binary does not output anything (stdout/stderr) after the crash. There is no verbose/debug mode (IIUC).
Interestingly, even if I don’t force rotate the and keep calling bond list
, I get this pattern:
- At first the list is empty for a couple of minutes.
- A bond of type
active-backup
shows up in the list and stays there for a couple of minutes. This type does not seem to change even with policy set tobalace-*
set inlocal.conf
. - After a couple of minutes (without forcing a rotation) calling CLI with
bond list
crashes (some core dump due to exception not caught):
-----------------------------------------------------------------------------
<peer> <bondtype> <links>
NONE NONE NONE NONE
-----------------------------------------------------------------------------
<peer> <bondtype> <links>
deadbeef00 active-backup 9/9
-----------------------------------------------------------------------------
<peer> <bondtype> <links>
terminate called after throwing an instance of 'nlohmann::detail::type_error'
what(): [json.exception.type_error.302] type must be number, but is null
-----------------------------------------------------------------------------
- At this point the zerotier-one binary is still running, and if ask for json output with
bond list -j
, the call does not crash anymore. The json output shows the bond is still active on both paths. - If I try to force rotate at any point, zerotier-one binary crashes.
This setup is somewhat complicated and is inside docker with some non-trivial routing. So there might be conflicts that make bonding difficult in my setup. I’m wondering what’s going on with what I mentioned above. It could be that the moment ZT tries to bond or switch/rotate path it crashes for some reason. I can share further details if needed.