On Wed, Feb 16, 2011 at 9:31 AM, Martin Sustrik <[email protected]> wrote:
> Here's more info about the problem. It's a multi-faceted issue, so bear > with me, please... So we found, yesterday, one reproducible way in 0MQ/2.1.1 (master) to cause any node to die with this assertion failure (https://github.com/zeromq/zeromq2/issues/165/#comment_779428). The scenario has a server S and two clients C1 and C2. C1 connects to S using a durable socket (specifies an identity before connection). C2 attempts to connect using the same durable socket. S forces C2 to disconnect. C2 then appears to repeat the connection attempt. S's mailbox fills with reconnection commands, forcing it to grow, and eventually killing S. Unexpectedly, setting the ZMQ_RECONNECT_IVL and ZMQ_RECONNECT_IVL_MAX options on the C1 and C2 sockets (to a value like 1 second) does not make any difference. Further the ZMQ_RECONNECT_IVL default is documented as 100msec, yet the test case shows many thousands of reconnect attempts per second. Attempting to solve this by modifying (fixing?) the clients' reconnection strategy would leave nodes vulnerable to a quite trivial TCP attack, as well as malconfigured or older clients. -Pieter _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
