Hi, the last zyre release was in 2017, any plans of doing another one any time soon?
Jesse Off
@jesseoff
Hello, I've created some support for Zyre in Common Lisp and made a github project: https://github.com/jesseoff/cl-zyre It has been published in the ultralisp.org distribution and I'm seeking inclusion in Quicklisp for next month's release.
Kevin Sapper
@sappo
@jesseoff very neat :)
Pierre Yager
@zedalaye_gitlab
Hello, I'm using Zyre to discover nodes and services for my software on local networks. I'm facing a very strange problem : one of the nodes on my network loop on ENTER / JOIN (two groups) / EXIT (without leave), the EXIT message has the same timestamp as the last JOIN message.
I don't know how to start to find/troubleshoot this problem
Kevin Sapper
@sappo
@zedalaye_gitlab Can you share the code that causes this issue
Pierre Yager
@zedalaye_gitlab
@sappo it's very hard. This application is millions of LOC wide and it's written in Delphi
Pierre Yager
@zedalaye_gitlab
I just added a logsender subscriber to trace log messages generated by zmq/zyre into a file. I often see these messages : "D: 20-02-24 18:18:52 tossing beacon, version mis-match", what do they mean ? Are they safe to ignore ?
Kevin Sapper
@sappo
It seems you're using peers with different beaconing protocol version implemenations that are incompatible. Hence the zyre protocol will ignore those beacons and discovery with those peers won't work.
Are you using different zyre libraries?
Pierre Yager
@zedalaye_gitlab
On windows nodes, I build zyre myself. We also talk to nodes that run on Raspberry Pi, the software on RPi is built in GoLang, it runs on CentOS an libzmq/czmq/zyre are built by ourselves and packaged as RPMs
RPis are currently provided with zyre at commit 8d78848, nodes on windows are built from a more recent master
Kevin Sapper
@sappo
Are you using encrypted traffic between peers?
Pierre Yager
@zedalaye_gitlab
There may be one or two peers with curve enabled. That'as another issue, I never succeded connecting two encrypted windows nodes.
I planned to build a test program to reproduce this specific issue.
Kevin Sapper
@sappo
Okay that's probably the reason why you are encounter the "tossing" log message. Because by default beacon version 2 is used but if curve is enabled then beacon version 3 is used and they are incompatible. So in this case those messages are safe to igonre.
Pierre Yager
@zedalaye_gitlab
Fine. I'll check after disconnecting those nodes to be sure.
Kevin Sapper
@sappo
Regarding curve on windows, I'm not a frequent windows user but I'll add this to my tolist. Maybe you can open an github issue so we can track it.
Pierre Yager
@zedalaye_gitlab
Thank you. I also saw recent issues on libzmq regarding tests that do not pass on Windows, I'm asking if I should start to worry
Kevin Sapper
@sappo
In general tests seem to be passing on windows. But I'm not heavily involved in the libzmq development
Pierre Yager
@zedalaye_gitlab
Thank you for your last commit. I'm building a new version of libzmq/czmq/zyre
Pierre Yager
@zedalaye_gitlab
Fine, I have your new debug message : "D: 20-02-25 14:27:30 tossing beacon, version mis-match. Got 3 but expected 1."
That's what you suspected, several peers are using encrypted traffic
Kevin Sapper
@sappo
Yes
Pierre Yager
@zedalaye_gitlab
@sappo do you what can make some peers peers unable to exchange on Zyre? As it looks like to do not respond to HELLO: I: 20-02-27 09:23:56 (me) connect to peer: endpoint=tcp://192.168.57.128:49152 I: 20-02-27 09:23:56 (me) send HELLO to peer=- sequence=1 I: 20-02-27 09:24:02 (me) peer does not send messages (evasive) name= endpoint=tcp://192.168.57.128:49152 I: 20-02-27 09:24:02 (me) send PING to peer=- sequence=2 I: 20-02-27 09:24:03 (me) peer does not send messages (evasive) name= endpoint=tcp://192.168.57.128:49152 I: 20-02-27 09:24:03 (me) send PING to peer=- sequence=3 I: 20-02-27 09:24:04 (me) peer does not send messages (evasive) name= endpoint=tcp://192.168.57.128:49152 I: 20-02-27 09:24:04 (me) send PING to peer=- sequence=4
Pierre Yager
@zedalaye_gitlab
do you... know...
Kevin Sapper
@sappo
The other peer could for example discard the messages because of a mismatch in the zyre protocol version.
Pierre Yager
@zedalaye_gitlab
In this specific case, I'm... pretty sure... they run the same version of my software, bundled with the same version of libzmq/czmq/zyre libraries and that they do not use encryption
Kevin Sapper
@sappo
Can you see anything in the other peer's logs?
Pierre Yager
@zedalaye_gitlab
For know they are not enable. I'll release a new version that allow enabling logs