[zeromq-dev] Connecting with CURVE gives a timeout on one host but not the other

Goswin von Brederlow goswin-v-b at web.de
Tue Mar 18 12:33:18 CET 2014


Hi,

I'm having  clients that uses a REQ socket to connect to a servers
ROUTER socket using CURVE. Now one client fails to connect and retries
over and over after a timeout and I have no idea why.

===== FAILING client =====

[pid 18880] connect(12, {sa_family=AF_INET, sin_port=htons(6004), sin_addr=inet_addr("192.168.52.254")}, 16) = -1 EINPROGRESS (Operation now in progress)
[pid 18880] getpeername(12, {sa_family=AF_INET, sin_port=htons(6004), sin_addr=inet_addr("192.168.52.254")}, [16]) = 0
[pid 18880] recvfrom(12, "\377\0\0\0\0\0\0\0\1\177", 12, 0, NULL, NULL) = 10
[pid 18880] recvfrom(12, 0x7f9840000e92, 2, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid 18880] sendto(12, "\377\0\0\0\0\0\0\0\5\177\3", 11, 0, NULL, 0) = 11
[pid 18880] recvfrom(12, "\3\0", 2, 0, NULL, NULL) = 2
[pid 18880] recvfrom(12, "CURVE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 52, 0, NULL, NULL) = 52
[pid 18880] recvfrom(12, 0x7f98400031a0, 8192, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid 18880] sendto(12, "\0CURVE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 53, 0, NULL, 0) = 53
[pid 18880] sendto(12, "\4\310\5HELLO\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\v\243\25\21'\240\354\321,c*\0\375\rS\4^x\220\\\2217o\323\27\275\264})\26\345>\0\0\0\0\0\0\0\0003X\327\274\266|\350$\227\342\221\325nvl\242\212\5\207\346l\372\n\337S\4\2712\342\5be]\37k\325\270Y\354I\306\251\10J\f\204\211i\300\10\31#}\243\232\26c\264Z\235\326\263\372N\320t\317?)\374A\r5u\370\27\36\n?I", 202, 0, NULL, 0) = 202
[pid 18880] recvfrom(12, "\4\250\7WELCOME\356ul\321`\267\2459:6T\203\23\355\2624\351Q\30M\374)\31%\232lYB\201H\335\360\25c\373\343\21%\335Z#X\0243\356\274\320\3462+\332\245\0268\250w\33\274\355\213\252\204\361\366\310\305\16\304\262\27\232\204\310:\367\270\37\257\321\203\325\210?\306\214\r\357\232Z\36Tn\344\324\240\35\255>\322c&Vi\327\346y5ebR>t7\345\323\372\2141\315,\36\352]\\\35\367\310P\2Yp\3\255O\6T\231[\357\304v\20\376N[\340\217/\315e\347\34\n\322\332U\223\27\366N", 8192, 0, NULL, NULL) = 170
[pid 18880] sendto(12, "\6\0\0\0\0\0\0\1(\10INITIATE.{\7_\3733\211\236\236\201\233V\22$\371>\367BQ\31_WA\226\27\275\227\337\363D\244}\373\5\376d\26\263\307\0030\212e!\302'\7\17\367'u\322\326\26WT\312=\342\25O\310\227i\351,WD\242\303\16\311\230\356\270Z\273\204\350\256y\377\271\331|v\33\271\25\360\340\266v\37\244\224\1\0\0\0\0\0\0\0\230\32\360\337\23\4jq\352!\227+\214/E]&f+\261lR5u\214\31!\3455qt\344\321\270\307G\226\312rlS{5;\27\211j\305\357\335&0\3668\254\304X\374\202\2151)k)\347!\27S\23\223]K\207\347\3134\2741\204\237\230J;\26No\201\24nOl\305M\367\26\217\303?\335\3047\215>\371\5\331\264\233\305m\230\270\332l\234=\243?\2726\251\270G\312\350|,;W\372Nh\33\215?\355\26\210\273\1\374\366\7\223N\255\267\246zZ\370v\243\\\364mo,\25P\310\32\255\330\320\224\332\\M\307\214w\335\24f\364\r\334Y\202\375\243\236", 305, 0, NULL, 0) = 305
[pid 18880] recvfrom(12, "\4A\5READY\1\0\0\0\0\0\0\0v\20o\340l1\366\232&\310{\223\10\252\304_;>\26\30>-\374Y\356\222\303\247C\323\7\20\257_*7\364\\a.\223o\301\250;I\203J:\312g", 8192, 0, NULL, NULL) = 67
[pid 18880] sendto(12, "\0!\7MESSAGE\2\0\0\0\0\0\0\0)\313\260\0041=\177\253\360$\362\332\34L\7R\21\0~\7MESSAGE\3\0\0\0\0\0\0\0\370rK&R\367B\361\210\232{\215\265))CIB\221\2744\316\210T\366$\307!-\334&\331\275\273[\211\f\25\33!V\225E'v\2649[VN\10\n\271\v\374\202\225n\262X\302\327\353=\1\251\223\232\225\220+\262\21\30\0104\220\17\245\241)\317\352G\222@\3\253\355\325>\346\347\310z?\310\325\0\t\v\32\2743\247\362>\27e\264", 163, 0, NULL, 0 <unfinished ...>
*timeout*

===== SUVVESSFULL client =====

[pid  7708] connect(12, {sa_family=AF_INET, sin_port=htons(6004), sin_addr=inet_addr("192.168.52.254")}, 16 <unfinished ...>
[pid  7708] getpeername(12, {sa_family=AF_INET, sin_port=htons(6004), sin_addr=inet_addr("192.168.52.254")}, [16]) = 0
[pid  7708] recvfrom(12, "\377\0\0\0\0\0\0\0\1\177", 12, 0, NULL, NULL) = 10
[pid  7708] recvfrom(12, 0x7f954c000e92, 2, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid  7708] sendto(12, "\377\0\0\0\0\0\0\0\10\177\3", 11, 0, NULL, 0) = 11
[pid  7708] recvfrom(12, "\3\0", 2, 0, NULL, NULL) = 2
[pid  7708] recvfrom(12, "CURVE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 52, 0, NULL, NULL) = 52
[pid  7708] recvfrom(12, 0x7f954c0031a0, 8192, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
[pid  7708] sendto(12, "\0CURVE\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 53, 0, NULL, 0) = 53
[pid  7708] sendto(12, "\4\310\5HELLO\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=\17\34\205\231\203\215pA\331\350M\3n\270\35f\273\363\17e\341\313R(\303\2775\1\3036l\0\0\0\0\0\0\0\0\352\210 at E\2\375\307\224\273^g\371my\255\20\320\274-\6\3506\372\25dDc\364\240\0316\345\34\201\317SS5\360\250\2640\250\16R\3\235.\202\311\3\236\362\247\357\217ri\303\21\36\373s(\223\2038\275\231\2453>\17(\31\350\25\340e\342", 202, 0, NULL, 0) = 202
[pid  7708] recvfrom(12, "\4\250\7WELCOME\344\321|p\221\376\230\342I\340\36y\375\326^aY\323\364e\354\340E\367O\353{\253\0\33\232\233\36\370k\244\237\210\356\361\207^\0378\305\243=\323\34\3\326[@\237Q%2\314\375Z\250\30;\360\333\377\360:\17\254\345 D\r\352\316\241\230\232\36303\336\36J:\310\7\323\246\336\226\232T8'\324Xx\26,\27\311F(\200/\346FX\236h\2v\2456T\261V]\370^\225\305\257\245\f@\266r\277\312\20^\244\6>a.\352\356\306O\216\252\2647\360\336,\264\23/J\361\367\323\26n ", 8192, 0, NULL, NULL) = 170
[pid  7708] sendto(12, "\6\0\0\0\0\0\0\1+\10INITIATE\321>31.\22\351\363h\225\311\350x\310\242(\351\22\371\207D\16\0264\300\277\245\341H[\2252I+/Dq\307\267\263?\206Y[\366-\356\242'x\363`\34\333\324`\10\25\346h\f\27\37277:\210\335\241S\27eq\200\253h\230\202\241\3231\235\324\36\242\345\210\256\342i\241Ii\216\2131\1\0\0\0\0\0\0\0\325\211\264:\320zR\356_\21\32\366ge\305\337\26\375_P\32+\216f,\26\37PU\345V\351\260Y!y\246h\261\210\207\226>\250\335\3760vi\302\235%\36$\2713\355]`\314\271\252\335\234\177\370\212\216\331\5\22\3054\372\223\323\342\340\237-\3\n%~\2511\361+ %e8y.\3534\374\31\325\207\222\367\376\2776\\/\207\373K\272_\253\233%\203i\7\367\317\223\257\266\346\300]\245.\35x\320m\304t\345I\222\200\353P\274\17\302\373\\\1\300\36\230\333\306\363d\210\33Ro\201\26o\342\336\32>q\7\227\27\363\205r\334\26\1\377\242B\344\31E21\215\224\202\362", 308, 0, NULL, 0) = 308
[pid  7708] recvfrom(12, "\4A\5READY\1\0\0\0\0\0\0\0\200P\0301\204s\364\345\346\233\213\33k+U\6\343ew_-C\354\234l\201\346\210\264\264\310\n\341y at 2\33D\233\4@\202\33\307MUL\3\233\210\216", 8192, 0, NULL, NULL) = 67
[pid  7708] sendto(12, "\0!\7MESSAGE\2\0\0\0\0\0\0\0\377\343P=\307\345\311\6\212\213:\253!\315L/x\0~\7MESSAGE\3\0\0\0\0\0\0\0[P\266L\200/\t\306-\204\264$W/\4\247\254\266u7r$n/!>\32\23\255'\315\333\270\224\33\305\201\243\34\250\2156-\350EIs\211\257\313\7!\214\305\210\5\356$\24O\204\212\372\1\216-[5\317\233F\372\265\353\341L\376\247\\\337\254k\7\t\224iyr\3055\357\2654\230\374z\2\324\302{\257y\212\222\237Y\273\261Z\247", 163, 0, NULL, 0 <unfinished ...>
[pid  7708] recvfrom(12, "\0!\7MESSAGE\2\0\0\0\0\0\0\0\247\356Zk\345\261Q\240C\241\33\312\336{<\317\"\0\306\7MESSAGE\3\0\0\0\0\0\0\0X\222\255\266\2469z\377\357+\371\353\0\26\316.\vw\f\377\375\340\276jU\324\200\313\277\1\330\303\207z\320\340\220\373\252y\352\20W\fz\253\24R\237_P8\7\0-\226\n\352\7v-_-\220:\247\33\307\376!\231\31\0^\351\7\250\307i\363\344\264\370\205\322\231\230\211\343\3\267p\0370\346\357w`\334O\325\356r\217h_\356)\362-#\262e;\236h\35\374\264r\256n\245G\34\225\n\356\23\307~\270\246\271\37Ij\353Z(\314\271\23A\0208\26\325\220\330\270\233\177\274\21\344\270\177l\240)\206\234\376,\t\354@}\214\205\341\374\360\205\320g(\377\232\313\237", 8192, 0, NULL, NULL) = 235
...

Am I correct assuming that the connection is established and the CURVE
handshake completed sucessfully with the "READY" message?

After that the clients seem to send their first request and the
failing client never gets a reply.

Any ideas?

MfG
	Goswin



More information about the zeromq-dev mailing list