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
Just found the problem with peers that don't respond : the software was blocked by the ESET Internet Security Firewall.
For what it worth, the log on the "blocked peer" side looks like: D: 20-02-27 13:53:58 Neptis-VYG1UXWF: API command=SET HEADER D: 20-02-27 13:53:58 Neptis-VYG1UXWF: API command=SET HEADER D: 20-02-27 13:53:58 Neptis-VYG1UXWF: API command=SET HEADER D: 20-02-27 13:53:58 Neptis-VYG1UXWF: API command=SET HEADER D: 20-02-27 13:53:58 Neptis-VYG1UXWF: API command=SET HEADER D: 20-02-27 13:53:58 Neptis-VYG1UXWF: API command=START I: 20-02-27 13:53:58 zbeacon: API command=CONFIGURE I: 20-02-27 13:53:58 zbeacon: interface=Ethernet 2 address=192.168.57.137 broadcast=192.168.57.255 I: 20-02-27 13:53:58 zbeacon: configured, hostname=192.168.57.137 D: 20-02-27 13:53:58 Neptis-VYG1UXWF: API command=JOIN I: 20-02-27 13:53:58 zbeacon: API command=PUBLISH I: 20-02-27 13:53:58 (Neptis-VYG1UXWF) JOIN group=MAINGROUP D: 20-02-27 13:53:58 Neptis-VYG1UXWF: API command=JOIN I: 20-02-27 13:53:58 (Neptis-VYG1UXWF) JOIN group=OTHERGROUP I: 20-02-27 13:53:58 zbeacon: API command=SUBSCRIBE And nothing more
Quentin Collet
@Katawann
Hello Zyre people,
I'm doing the state of the art of middleware communication. I plan to use this communication for a drone swarm project (in agriculture). Zyre looks promising, but I would like to know few things before to go:
I saw in "The Guide" in chapter 8 that there is a "zre_interface_publish" function to send files. I can not find it in the Zyre code or in the README file. Is it something that we can still do with Zyre ?
For the projects I found using Zyre, I feel the framework is at a "good to try" state. I was wondering if you have some real applications to prove it is a good solution in daily life projects ?
Does anyone do some support/consulting ? I have short deadline to respect and it would be more than welcome to get some inputs at the beginning to make sure I don't take the wrong direction
All the best !
Kevin Sapper
@sappo
Hi @Katawann, I don't remember that function being part of zyre, but you can easily implement this behavior in your peers on top of zyre. Regarding the other questions I recommend you to ask on the zeromq mailing list: https://lists.zeromq.org/mailman/listinfo/zeromq-dev