by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Aero Blue
    @aeroblue
    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
    Pierre Yager
    @zedalaye_gitlab
    Yeah, I just found a problem :) zsys_set_interface() do not work when the network interface name contains accents ("Connexion au réseau local") that explains why the node is not visible to Zyre.
    Pierre Yager
    @zedalaye_gitlab
    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