[zeromq-dev] Weird whisper messages arriving with Pyre

Arnaud Loonstra arnaud at sphaero.org
Mon Dec 21 22:44:55 CET 2015

I can have a look tomorrow although we'd be best helped with a reproducible error. In this case it seems messages are either malformed or getting mixed up. If some error happens somewhere in a node it is very hard to predict what will happen due to the asynchronous behaviour of pyre. 

Are the unittest running fine on your setup?



On December 21, 2015 9:24:29 PM GMT+01:00, Axel Voitier <axel.voitier at gmail.com> wrote:
>I observe an odd behaviour in my application which seems to relate to
>whisper messages being malformatted (incomplete and/or mixed).
>It is still difficult to reproduce as it happens randomly and when
>quite some traffic between the two nodes.
>Here is an example:
>> DEBUG:isac.transport.pyre_node:(alidron-archiver-influxdb) received
>> ['WHISPER', '\xe7\x19`\xf2a\xddM\xe1\x85\x1e\xe6s~\xd6@\x0b',
>> 'alidron-openzwave-controller', 'SHOUT']
>It is quite strange to get a 'SHOUT' in a whisper message, knowing this
>not the kind of payload my application send.
>In another case (actually happened during another run), on the other
>> Exception in thread Thread-1:
>> Traceback (most recent call last):
>>   File "/usr/local/lib/python2.7/threading.py", line 801, in
>> __bootstrap_inner
>>     self.run()
>>   File "/usr/local/lib/python2.7/threading.py", line 754, in run
>>     self.__target(*self.__args, **self.__kwargs)
>>   File "/usr/local/lib/python2.7/site-packages/pyre/zactor.py", line
>> in run
>>     self.shim_handler(*self.shim_args, **self.shim_kwargs)
>>   File "/usr/local/lib/python2.7/site-packages/pyre/pyre_node.py",
>> 52, in __init__
>>     self.run()
>>   File "/usr/local/lib/python2.7/site-packages/pyre/pyre_node.py",
>> 504, in run
>>     self.recv_api()
>>   File "/usr/local/lib/python2.7/site-packages/pyre/pyre_node.py",
>> 182, in recv_api
>>     peer_id = uuid.UUID(bytes=request.pop(0))
>>   File "/usr/local/lib/python2.7/uuid.py", line 146, in __init__
>>     raise ValueError('bytes is not a 16-char string')
>> ValueError: bytes is not a 16-char string
>Here, line 182 of pyre_node.py is actually trying to read the peer_id
>the WHISPER message but seems to be reading something wrong?!
>In several runs the context is not the same (not the same "transaction"
>going on if you want). I can provide the full logs if you want, but in
>debug level it's about 13.2MB for three runs...
>Would you have an idea about what is going on? I though about too much
>traffic going over the HWM of the various socket involved here and
>But I already limit the rate of transactions by pausing 10ms between
>zeromq-dev mailing list
>zeromq-dev at lists.zeromq.org

Send from my feature bloated phone.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20151221/3585a787/attachment.htm>

More information about the zeromq-dev mailing list