Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatibility between Pyre and Zyre #123

Open
avarf opened this issue Feb 3, 2018 · 3 comments
Open

Incompatibility between Pyre and Zyre #123

avarf opened this issue Feb 3, 2018 · 3 comments

Comments

@avarf
Copy link

avarf commented Feb 3, 2018

I am working on a project that I need to have a Pyre node and many Zyre nodes in a group. I created the nodes and tested Pyre node to Pyre node and also Zyre node to Zyre node and they are working fine but there is an incompatibility between Pyre and Zyre. As soon as the Zyre node joins the group all the Pyre nodes in the group facing an error and they die. The error is:

Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/home/ali/.local/lib/python3.5/site-packages/pyre/zactor.py", line 57, in run
self.shim_handler(*self.shim_args, **self.shim_kwargs)
File "/home/ali/.local/lib/python3.5/site-packages/pyre/pyre_node.py", line 53, in init
self.run()
File "/home/ali/.local/lib/python3.5/site-packages/pyre/pyre_node.py", line 519, in run
self.recv_beacon()
File "/home/ali/.local/lib/python3.5/site-packages/pyre/pyre_node.py", line 454, in recv_beacon
beacon = struct.unpack('cccb16sH', frame)
struct.error: unpack requires a bytes object of length 22

I tried to find a solution for this but I couldn't find anything online. Does anybody have any idea how I can solve this?

@sphaero
Copy link
Contributor

sphaero commented Feb 3, 2018

Yes this might be the case. Pyre hasn't been keeping up with Zyre. Either you only use Pyre, or you use Zyre with its included python binding which I would recommend. The error you get is from difference in the zbeacon(broadcast discovery) frame. It's not hard to fix.

@bluca
Copy link
Member

bluca commented Feb 4, 2018

The change in the beacon should only appear when building zyre with draft apis and using the new version of the protcol (which supports crypto), are there other differences?

@sphaero
Copy link
Contributor

sphaero commented Feb 5, 2018

I think this issue is a duplicate of #92. Pyre has been behind Zyre development. I switched to using the Zyre python bindings. What would be best is to have a unittest which uses a Zyre node.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants