{"action":"created","issue":{"url":"https://api.github.com/repos/swoole/swoole-src/issues/651","repository_url":"https://api.github.com/repos/swoole/swoole-src","labels_url":"https://api.github.com/repos/swoole/swoole-src/issues/651/labels{/name}","comments_url":"https://api.github.com/repos/swoole/swoole-src/issues/651/comments","events_url":"https://api.github.com/repos/swoole/swoole-src/issues/651/events","html_url":"https://github.com/swoole/swoole-src/issues/651","id":152690047,"number":651,"title":"swoole_redis->set 失败，ERR.Protocol.error:.invalid.bulk.length..","user":{"login":"roxma","id":4538941,"avatar_url":"https://avatars.githubusercontent.com/u/4538941?v=3","gravatar_id":"","url":"https://api.github.com/users/roxma","html_url":"https://github.com/roxma","followers_url":"https://api.github.com/users/roxma/followers","following_url":"https://api.github.com/users/roxma/following{/other_user}","gists_url":"https://api.github.com/users/roxma/gists{/gist_id}","starred_url":"https://api.github.com/users/roxma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roxma/subscriptions","organizations_url":"https://api.github.com/users/roxma/orgs","repos_url":"https://api.github.com/users/roxma/repos","events_url":"https://api.github.com/users/roxma/events{/privacy}","received_events_url":"https://api.github.com/users/roxma/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-05-03T02:55:14Z","updated_at":"2016-05-03T08:07:15Z","closed_at":null,"body":"测试代码：\r\n```\r\n<?php\r\n\r\n$client = new swoole_redis;\r\n\r\n$client->connect('127.0.0.1', 6379, function (swoole_redis $client, $result) {\r\n\r\n    if ($result === false) {\r\n        echo \"connect to redis server failed.\\n\";\r\n        return;\r\n    }\r\n\r\n    $client->set('key', 'swoole', function (swoole_redis $client, $result) {\r\n        var_dump($result);\r\n    });\r\n\r\n});\r\n\r\n?>\r\n```\r\n\r\n输出\r\n```\r\n[roxma@VM_67_229_centos redis]$ php t.php \r\nbool(false)\r\n```\r\n\r\ntcpdump:\r\n```\r\ntcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes\r\n10:52:13.397068 IP (tos 0x0, ttl 64, id 61548, offset 0, flags [DF], proto TCP (6), length 60)\r\n    127.0.0.1.55538 > 127.0.0.1.6379: Flags [S], cksum 0xfe30 (incorrect -> 0xfc4c), seq 1102746120, win 43690, options [mss 65495,sackOK,TS val 2161992292 ecr 0,nop,wscale 7], length 0\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 003c f06c 4000 4006 4c4d 7f00 0001  E..<.l@.@.LM....\r\n\t0x0020:  7f00 0001 d8f2 18eb 41ba 9208 0000 0000  ........A.......\r\n\t0x0030:  a002 aaaa fe30 0000 0204 ffd7 0402 080a  .....0..........\r\n\t0x0040:  80dd 6264 0000 0000 0103 0307            ..bd........\r\n10:52:13.397080 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)\r\n    127.0.0.1.6379 > 127.0.0.1.55538: Flags [S.], cksum 0xfe30 (incorrect -> 0x65e8), seq 3724268821, ack 1102746121, win 43690, options [mss 65495,sackOK,TS val 2161992292 ecr 2161992292,nop,wscale 7], length 0\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 003c 0000 4000 4006 3cba 7f00 0001  E..<..@.@.<.....\r\n\t0x0020:  7f00 0001 18eb d8f2 ddfb d515 41ba 9209  ............A...\r\n\t0x0030:  a012 aaaa fe30 0000 0204 ffd7 0402 080a  .....0..........\r\n\t0x0040:  80dd 6264 80dd 6264 0103 0307            ..bd..bd....\r\n10:52:13.397091 IP (tos 0x0, ttl 64, id 61549, offset 0, flags [DF], proto TCP (6), length 52)\r\n    127.0.0.1.55538 > 127.0.0.1.6379: Flags [.], cksum 0xfe28 (incorrect -> 0x382d), seq 1, ack 1, win 342, options [nop,nop,TS val 2161992292 ecr 2161992292], length 0\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 0034 f06d 4000 4006 4c54 7f00 0001  E..4.m@.@.LT....\r\n\t0x0020:  7f00 0001 d8f2 18eb 41ba 9209 ddfb d516  ........A.......\r\n\t0x0030:  8010 0156 fe28 0000 0101 080a 80dd 6264  ...V.(........bd\r\n\t0x0040:  80dd 6264                                ..bd\r\n10:52:13.397226 IP (tos 0x0, ttl 64, id 61550, offset 0, flags [DF], proto TCP (6), length 86)\r\n    127.0.0.1.55538 > 127.0.0.1.6379: Flags [P.], cksum 0xfe4a (incorrect -> 0x7f1f), seq 1:35, ack 1, win 342, options [nop,nop,TS val 2161992293 ecr 2161992292], length 34\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 0056 f06e 4000 4006 4c31 7f00 0001  E..V.n@.@.L1....\r\n\t0x0020:  7f00 0001 d8f2 18eb 41ba 9209 ddfb d516  ........A.......\r\n\t0x0030:  8018 0156 fe4a 0000 0101 080a 80dd 6265  ...V.J........be\r\n\t0x0040:  80dd 6264 2a33 0d0a 2454 0d0a 7365 740d  ..bd*3..$T..set.\r\n\t0x0050:  0a24 540d 0a6b 6579 0d0a 2454 0d0a 7377  .$T..key..$T..sw\r\n\t0x0060:  6f6f 6c65 0d0a                           oole..\r\n10:52:13.397231 IP (tos 0x0, ttl 64, id 46962, offset 0, flags [DF], proto TCP (6), length 52)\r\n    127.0.0.1.6379 > 127.0.0.1.55538: Flags [.], cksum 0xfe28 (incorrect -> 0x3809), seq 1, ack 35, win 342, options [nop,nop,TS val 2161992293 ecr 2161992293], length 0\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 0034 b772 4000 4006 854f 7f00 0001  E..4.r@.@..O....\r\n\t0x0020:  7f00 0001 18eb d8f2 ddfb d516 41ba 922b  ............A..+\r\n\t0x0030:  8010 0156 fe28 0000 0101 080a 80dd 6265  ...V.(........be\r\n\t0x0040:  80dd 6265                                ..be\r\n10:52:13.397551 IP (tos 0x0, ttl 64, id 46963, offset 0, flags [DF], proto TCP (6), length 94)\r\n    127.0.0.1.6379 > 127.0.0.1.55538: Flags [P.], cksum 0xfe52 (incorrect -> 0xe085), seq 1:43, ack 35, win 342, options [nop,nop,TS val 2161992293 ecr 2161992293], length 42\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 005e b773 4000 4006 8524 7f00 0001  E..^.s@.@..$....\r\n\t0x0020:  7f00 0001 18eb d8f2 ddfb d516 41ba 922b  ............A..+\r\n\t0x0030:  8018 0156 fe52 0000 0101 080a 80dd 6265  ...V.R........be\r\n\t0x0040:  80dd 6265 2d45 5252 2050 726f 746f 636f  ..be-ERR.Protoco\r\n\t0x0050:  6c20 6572 726f 723a 2069 6e76 616c 6964  l.error:.invalid\r\n\t0x0060:  2062 756c 6b20 6c65 6e67 7468 0d0a       .bulk.length..\r\n10:52:13.397555 IP (tos 0x0, ttl 64, id 61551, offset 0, flags [DF], proto TCP (6), length 52)\r\n    127.0.0.1.55538 > 127.0.0.1.6379: Flags [.], cksum 0xfe28 (incorrect -> 0x37df), seq 35, ack 43, win 342, options [nop,nop,TS val 2161992293 ecr 2161992293], length 0\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 0034 f06f 4000 4006 4c52 7f00 0001  E..4.o@.@.LR....\r\n\t0x0020:  7f00 0001 d8f2 18eb 41ba 922b ddfb d540  ........A..+...@\r\n\t0x0030:  8010 0156 fe28 0000 0101 080a 80dd 6265  ...V.(........be\r\n\t0x0040:  80dd 6265                                ..be\r\n10:52:13.397567 IP (tos 0x0, ttl 64, id 46964, offset 0, flags [DF], proto TCP (6), length 52)\r\n    127.0.0.1.6379 > 127.0.0.1.55538: Flags [F.], cksum 0xfe28 (incorrect -> 0x37de), seq 43, ack 35, win 342, options [nop,nop,TS val 2161992293 ecr 2161992293], length 0\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 0034 b774 4000 4006 854d 7f00 0001  E..4.t@.@..M....\r\n\t0x0020:  7f00 0001 18eb d8f2 ddfb d540 41ba 922b  ...........@A..+\r\n\t0x0030:  8011 0156 fe28 0000 0101 080a 80dd 6265  ...V.(........be\r\n\t0x0040:  80dd 6265                                ..be\r\n10:52:13.397874 IP (tos 0x0, ttl 64, id 61552, offset 0, flags [DF], proto TCP (6), length 52)\r\n    127.0.0.1.55538 > 127.0.0.1.6379: Flags [F.], cksum 0xfe28 (incorrect -> 0x37dd), seq 35, ack 44, win 342, options [nop,nop,TS val 2161992293 ecr 2161992293], length 0\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 0034 f070 4000 4006 4c51 7f00 0001  E..4.p@.@.LQ....\r\n\t0x0020:  7f00 0001 d8f2 18eb 41ba 922b ddfb d541  ........A..+...A\r\n\t0x0030:  8011 0156 fe28 0000 0101 080a 80dd 6265  ...V.(........be\r\n\t0x0040:  80dd 6265                                ..be\r\n10:52:13.397879 IP (tos 0x0, ttl 64, id 46965, offset 0, flags [DF], proto TCP (6), length 52)\r\n    127.0.0.1.6379 > 127.0.0.1.55538: Flags [.], cksum 0xfe28 (incorrect -> 0x37dd), seq 44, ack 36, win 342, options [nop,nop,TS val 2161992293 ecr 2161992293], length 0\r\n\t0x0000:  0000 0304 0006 0000 0000 0000 0000 0800  ................\r\n\t0x0010:  4500 0034 b775 4000 4006 854c 7f00 0001  E..4.u@.@..L....\r\n\t0x0020:  7f00 0001 18eb d8f2 ddfb d541 41ba 922c  ...........AA..,\r\n\t0x0030:  8010 0156 fe28 0000 0101 080a 80dd 6265  ...V.(........be\r\n\t0x0040:  80dd 6265                                ..be\r\n```\r\n\r\n\r\nswoole 1.8.4 编译出来的\r\n"},"comment":{"url":"https://api.github.com/repos/swoole/swoole-src/issues/comments/216463765","html_url":"https://github.com/swoole/swoole-src/issues/651#issuecomment-216463765","issue_url":"https://api.github.com/repos/swoole/swoole-src/issues/651","id":216463765,"user":{"login":"roxma","id":4538941,"avatar_url":"https://avatars.githubusercontent.com/u/4538941?v=3","gravatar_id":"","url":"https://api.github.com/users/roxma","html_url":"https://github.com/roxma","followers_url":"https://api.github.com/users/roxma/followers","following_url":"https://api.github.com/users/roxma/following{/other_user}","gists_url":"https://api.github.com/users/roxma/gists{/gist_id}","starred_url":"https://api.github.com/users/roxma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roxma/subscriptions","organizations_url":"https://api.github.com/users/roxma/orgs","repos_url":"https://api.github.com/users/roxma/repos","events_url":"https://api.github.com/users/roxma/events{/privacy}","received_events_url":"https://api.github.com/users/roxma/received_events","type":"User","site_admin":false},"created_at":"2016-05-03T08:07:15Z","updated_at":"2016-05-03T08:07:15Z","body":"那个错误是 tcpdump 抓到的，strace 的结果比较长，我截取最后一部分\r\n···\r\nopen(\"/lib64/libzip.so.2\", O_RDONLY|O_CLOEXEC) = 3\r\nread(3, \"\\177ELF\\2\\1\\1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\3\\0>\\0\\1\\0\\0\\00005\\0\\0\\0\\0\\0\\0@\\0\\0\\0\\0\\0\\0\\0\\240\\333\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0@\\0008\\0\\7\\0@\\0\\33\\0\\32\\0\\1\\0\\0\\0\\5\\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\\264\\276\\0\\0\\0\\0\\0\\0\\264\\276\\0\\0\\0\\0\\0\\0\\0\\0 \\0\\0\\0\\0\\0\\1\\0\\0\\0\\6\\0\\0\\0\\220\\314\\0\\0\\0\\0\\0\\0\\220\\314 \\0\\0\\0\\0\\0\\220\\314 \\0\\0\\0\\0\\0(\\7\\0\\0\\0\\0\\0\\0\\230\\7\\0\\0\\0\\0\\0\\0\\0\\0 \\0\\0\\0\\0\\0\\2\\0\\0\\0\\6\\0\\0\\0\\250\\315\\0\\0\\0\\0\\0\\0\\250\\315 \\0\\0\\0\\0\\0\\250\\315 \\0\\0\\0\\0\\0\\340\\1\\0\\0\\0\\0\\0\\0\\340\\1\\0\\0\\0\\0\\0\\0\\10\\0\\0\\0\\0\\0\\0\\0\\4\\0\\0\\0\\4\\0\\0\\0\\310\\1\\0\\0\\0\\0\\0\\0\\310\\1\\0\\0\\0\\0\\0\\0\\310\\1\\0\\0\\0\\0\\0\\0$\\0\\0\\0\\0\\0\\0\\0$\\0\\0\\0\\0\\0\\0\\0\\4\\0\\0\\0\\0\\0\\0\\0P\\345td\\4\\0\\0\\0h\\244\\0\\0\\0\\0\\0\\0h\\244\\0\\0\\0\\0\\0\\0h\\244\\0\\0\\0\\0\\0\\0\\244\\3\\0\\0\\0\\0\\0\\0\\244\\3\\0\\0\\0\\0\\0\\0\\4\\0\\0\\0\\0\\0\\0\\0Q\\345td\\6\\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\\20\\0\\0\\0\\0\\0\\0\\0R\\345td\\4\\0\\0\\0\\220\\314\\0\\0\\0\\0\\0\\0\\220\\314 \\0\\0\\0\\0\\0\\220\\314 \\0\\0\\0\\0\\0p\\3\\0\\0\\0\\0\\0\\0p\\3\\0\\0\\0\\0\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\4\\0\\0\\0\\24\\0\\0\\0\\3\\0\\0\\0GNU\\0Z\\25\\314)\\220\\33\\352\\250H\\17\\\"\\2257\\245}I~\\216w\\276\\0\\0\\0\\0a\\0\\0\\0:\\0\\0\\0\\20\\0\\0\\0\\n\\0\\0\\0\\0 \\2\\f8\\4B\\4 \\0\\2\\0B\\3\\0\\204\\4F\\0\\0\\34\\0\\10\\204\\n\\0\\210\\201B\\240\\212\\4\\3\\213\\0BA\\200@\\2\\250\\20\\2\\10A\\200\\204\\10\\5\\2@\\27J\\4\\0\\1\\211\\240\\300Q@8@ *\\200$\\2B\\4\\0\\0@\\2P! \\10\\200\\2E\\200\\210\\200\\200#\\26\\243\\0\\4\\10\\204UBJ\\200$\\0\\0 \\0\\0\\0\\0\\0\\f\\0\\200\\1 \\0\\2!\\301\\4\\220\\240\\0\\0\\r\\0\\241\\5\\10\\0\\4\\30#\\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\\0D\\0\\0\\0\\0\\0\\0\\0F\\0\\0\\0\\0\\0\\0\\0I\\0\\0\\0J\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0L\\0\\0\\0M\\0\\0\\0N\\0\\0\\0\\0\\0\\0\\0O\\0\\0\\0S\\0\\0\\0U\\0\\0\\0V\\0\\0\\0W\\0\\0\\0\\\\\\0\\0\\0\\0\\0\\0\\0]\\0\\0\\0_\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0a\\0\\0\\0\\0\\0\\0\\0c\\0\\0\\0e\\0\\0\\0f\\0\\0\\0\\0\\0\\0\\0h\\0\\0\\0i\\0\\0\\0\\0\\0\\0\\0j\\0\\0\\0l\\0\\0\\0m\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0o\\0\\0\\0\", 832) = 832\r\nfstat(3, {st_mode=S_IFREG|0755, st_size=57952, ...}) = 0\r\nmmap(NULL, 2151464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8271e2e000\r\nmprotect(0x7f8271e3a000, 2097152, PROT_NONE) = 0\r\nmmap(0x7f827203a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc000) = 0x7f827203a000\r\nclose(3)                                = 0\r\nmprotect(0x7f827203a000, 4096, PROT_READ) = 0\r\nmprotect(0x7f8272247000, 8192, PROT_READ) = 0\r\nmunmap(0x7f828017e000, 36428)           = 0\r\nfutex(0x7f827df59d28, FUTEX_WAKE_PRIVATE, 2147483647) = 0\r\nbrk(0)                                  = 0x7f828272e000\r\nbrk(0x7f828274f000)                     = 0x7f828274f000\r\nbrk(0)                                  = 0x7f828274f000\r\nbrk(0x7f8282770000)                     = 0x7f8282770000\r\nbrk(0)                                  = 0x7f8282770000\r\nbrk(0x7f8282791000)                     = 0x7f8282791000\r\nbrk(0)                                  = 0x7f8282791000\r\nbrk(0x7f82827b2000)                     = 0x7f82827b2000\r\nbrk(0)                                  = 0x7f82827b2000\r\nbrk(0x7f82827d3000)                     = 0x7f82827d3000\r\nioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0\r\nrt_sigprocmask(SIG_BLOCK, [WINCH], [], 8) = 0\r\nioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0\r\nstat(\"/home/roxma/.terminfo\", 0x7f82827c0230) = -1 ENOENT (No such file or directory)\r\nstat(\"/etc/terminfo\", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0\r\nstat(\"/usr/share/terminfo\", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0\r\naccess(\"/etc/terminfo/x/xterm\", R_OK)   = -1 ENOENT (No such file or directory)\r\naccess(\"/usr/share/terminfo/x/xterm\", R_OK) = 0\r\nopen(\"/usr/share/terminfo/x/xterm\", O_RDONLY) = 3\r\nfstat(3, {st_mode=S_IFREG|0644, st_size=3371, ...}) = 0\r\nmmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8280186000\r\nread(3, \"\\32\\0010\\0&\\0\\17\\0\\235\\1l\\5xterm|xterm terminal emulator (X Window System)\\0\\0\\1\\0\\0\\1\\0\\0\\0\\1\\0\\0\\0\\0\\1\\1\\0\\0\\0\\0\\0\\0\\0\\1\\0\\0\\1\\0\\0\\1\\0\\0\\0\\0\\0\\0\\0\\0\\1P\\0\\10\\0\\30\\0\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\10\\0@\\0\\0\\0\\4\\0\\6\\0\\10\\0\\31\\0\\36\\0&\\0*\\0.\\0\\377\\3779\\0J\\0L\\0P\\0W\\0\\377\\377Y\\0f\\0\\377\\377j\\0n\\0x\\0|\\0\\377\\377\\377\\377\\200\\0\\204\\0\\211\\0\\216\\0\\377\\377\\377\\377\\227\\0\\234\\0\\377\\377\\241\\0\\246\\0\\253\\0\\260\\0\\271\\0\\275\\0\\304\\0\\377\\377\\315\\0\\322\\0\\330\\0\\336\\0\\377\\377\\377\\377\\377\\377\\360\\0\\377\\377\\377\\377\\377\\377\\2\\1\\377\\377\\6\\1\\377\\377\\377\\377\\377\\377\\10\\1\\377\\377\\r\\1\\377\\377\\377\\377\\377\\377\\377\\377\\21\\1\\25\\1\\33\\1\\37\\1#\\1'\\1-\\0013\\0019\\1?\\1E\\1I\\1\\377\\377N\\1\\377\\377R\\1W\\1\\\\\\1`\\1g\\1\\377\\377n\\1r\\1z\\1\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\202\\1\\213\\1\\377\\377\\377\\377\\224\\1\\235\\1\\246\\1\\257\\1\\270\\1\\301\\1\\312\\1\\323\\1\\334\\1\\345\\1\\377\\377\\377\\377\\377\\377\\356\\1\\362\\1\\367\\1\\377\\377\\374\\1\\377\\1\\377\\377\\377\\377\\21\\2\\24\\2\\37\\2\\\"\\2$\\2'\\2y\\2\\377\\377|\\2\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377~\\2\\377\\377\\377\\377\\377\\377\\377\\377\\202\\2\\377\\377\\267\\2\\377\\377\\377\\377\\273\\2\\301\\2\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\307\\2\\313\\2\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\317\\2\\377\\377\\377\\377\\326\\2\\377\\377\\377\\377\\377\\377\\377\\377\\335\\2\\344\\2\\353\\2\\377\\377\\377\\377\\362\\2\\377\\377\\371\\2\\377\\377\\377\\377\\377\\377\\0\\3\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\7\\3\\r\\3\\23\\3\\32\\3!\\3(\\3/\\0037\\3?\\3G\\3O\\3W\\3_\\3g\\3o\\3v\\3}\\3\\204\\3\\213\\3\\223\\3\\233\\3\\243\\3\\253\\3\\263\\3\\273\\3\\303\\3\\313\\3\\322\\3\\331\\3\\340\\3\\347\\3\\357\\3\\367\\3\\377\\3\\7\\4\\17\\4\\27\\4\\37\\4'\\4.\\0045\\4<\\4C\\4K\\4S\\4[\\4c\\4k\\4s\\4{\\4\\203\\4\\212\\4\\221\\4\\230\\4\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\235\\4\\250\\4\\255\\4\\265\\4\\271\\4\\377\\377\\377\\377\\377\\377\\377\\377\\302\\4\\10\\5\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377N\\5\\377\\377\\377\\377\\377\\377R\\5\\\\\\5\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377\\377f\\5i\\5\\33[Z\\0\\7\\0\\r\\0\\33[%i%p1%d;%p2%dr\\0\\33[3g\\0\\33[H\\33[2J\\0\\33[K\\0\\33[J\\0\"..., 4096) = 3371\r\nread(3, \"\", 4096)                       = 0\r\nclose(3)                                = 0\r\nmunmap(0x7f8280186000, 4096)            = 0\r\nioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0\r\nioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0\r\nioctl(1, TIOCGWINSZ, {ws_row=52, ws_col=227, ws_xpixel=0, ws_ypixel=0}) = 0\r\nioctl(0, TIOCGWINSZ, {ws_row=52, ws_col=227, ws_xpixel=0, ws_ypixel=0}) = 0\r\nbrk(0)                                  = 0x7f82827d3000\r\nbrk(0x7f82827f4000)                     = 0x7f82827f4000\r\nrt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0\r\nioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0\r\nioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0\r\nioctl(0, SNDCTL_TMR_STOP or SNDRV_TIMER_IOCTL_GINFO or TCSETSW, {B38400 opost isig icanon echo ...}) = 0\r\nrt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM CONT TSTP WINCH], [], 8) = 0\r\nrt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0\r\nbrk(0)                                  = 0x7f82827f4000\r\nbrk(0x7f8282815000)                     = 0x7f8282815000\r\nbrk(0)                                  = 0x7f8282815000\r\nbrk(0x7f8282836000)                     = 0x7f8282836000\r\nbrk(0)                                  = 0x7f8282836000\r\nbrk(0x7f8282857000)                     = 0x7f8282857000\r\nopen(\"/sys/devices/system/cpu/online\", O_RDONLY|O_CLOEXEC) = 3\r\nread(3, \"0\\n\", 8192)                    = 2\r\nclose(3)                                = 0\r\nuname({sys=\"Linux\", node=\"VM_67_229_centos\", ...}) = 0\r\nmmap(NULL, 2097240, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_ANONYMOUS, -1, 0) = 0x7f8271c2d000\r\ngetrlimit(RLIMIT_NOFILE, {rlim_cur=1000000, rlim_max=1000000}) = 0\r\nbrk(0)                                  = 0x7f8282857000\r\nbrk(0x7f828287a000)                     = 0x7f828287a000\r\nmmap(NULL, 528384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8271bac000\r\nbrk(0)                                  = 0x7f828287a000\r\nbrk(0x7f828289b000)                     = 0x7f828289b000\r\ngettid()                                = 22887\r\nrt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x7f827c8ab670}, NULL, 8) = 0\r\nbrk(0)                                  = 0x7f828289b000\r\nbrk(0x7f82828bc000)                     = 0x7f82828bc000\r\nbrk(0)                                  = 0x7f82828bc000\r\nbrk(0x7f82828dd000)                     = 0x7f82828dd000\r\nbrk(0)                                  = 0x7f82828dd000\r\nbrk(0x7f82828fe000)                     = 0x7f82828fe000\r\nbrk(0)                                  = 0x7f82828fe000\r\nbrk(0x7f828291f000)                     = 0x7f828291f000\r\nbrk(0)                                  = 0x7f828291f000\r\nbrk(0x7f8282940000)                     = 0x7f8282940000\r\nopen(\"t.php\", O_RDONLY)                 = 3\r\nfstat(3, {st_mode=S_IFREG|0664, st_size=339, ...}) = 0\r\nmmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8280186000\r\nread(3, \"<?php\\n\\n$client = new swoole_redis;\\n\\n$client->connect('127.0.0.1', 6379, function (swoole_redis $client, $result) {\\n\\n    if ($result === false) {\\n        echo \\\"connect to redis server failed.\\\\n\\\";\\n        return;\\n    }\\n\\n    $client->set('key', 'swoole', function (swoole_redis $client, $result) {\\n        var_dump($result);\\n    });\\n\\n});\\n\\n?>\\n\", 4096) = 339\r\nlseek(3, 0, SEEK_SET)                   = 0\r\ngetcwd(\"/data/roxma/test/swoole_examples/redis\", 4096) = 39\r\nlstat(\"/data/roxma/test/swoole_examples/redis/t.php\", {st_mode=S_IFREG|0664, st_size=339, ...}) = 0\r\nlstat(\"/data/roxma/test/swoole_examples/redis\", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0\r\nlstat(\"/data/roxma/test/swoole_examples\", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0\r\nlstat(\"/data/roxma/test\", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0\r\nlstat(\"/data/roxma\", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0\r\nlstat(\"/data\", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0\r\nrt_sigaction(SIGPROF, {0x7f82803e6b60, [PROF], SA_RESTORER|SA_RESTART, 0x7f827c8ab670}, {SIG_DFL, [], 0}, 8) = 0\r\nrt_sigprocmask(SIG_UNBLOCK, [PROF], NULL, 8) = 0\r\ngettimeofday({1462261956, 196035}, NULL) = 0\r\nfstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0\r\nfstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0\r\nlseek(0, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)\r\nfstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0\r\nfstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0\r\nlseek(1, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)\r\nfstat(2, {st_mode=S_IFREG|0664, st_size=231666, ...}) = 0\r\nfstat(2, {st_mode=S_IFREG|0664, st_size=231724, ...}) = 0\r\nlseek(2, 0, SEEK_CUR)                   = 231793\r\ngetcwd(\"/data/roxma/test/swoole_examples/redis\", 4096) = 39\r\nioctl(3, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, 0x7ffff56c13e0) = -1 ENOTTY (Inappropriate ioctl for device)\r\nfstat(3, {st_mode=S_IFREG|0664, st_size=339, ...}) = 0\r\nmmap(NULL, 371, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8280185000\r\nmunmap(0x7f8280185000, 371)             = 0\r\nclose(3)                                = 0\r\nmunmap(0x7f8280186000, 4096)            = 0\r\nsocket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3\r\nfcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)\r\nfcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0\r\nconnect(3, {sa_family=AF_INET, sin_port=htons(6379), sin_addr=inet_addr(\"127.0.0.1\")}, 16) = -1 EINPROGRESS (Operation now in progress)\r\nsetsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0\r\nepoll_create(512)                       = 4\r\nmmap(NULL, 217088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f827ffa8000\r\nepoll_ctl(4, EPOLL_CTL_ADD, 3, {EPOLLOUT, {u32=3, u64=81604378627}}) = 0\r\nepoll_wait(4, {{EPOLLOUT, {u32=3, u64=81604378627}}}, 4096, -1) = 1\r\ngetsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0\r\nwrite(3, \"*3\\r\\n$T\\r\\nset\\r\\n$T\\r\\nkey\\r\\n$T\\r\\nswoole\\r\\n\", 34) = 34\r\nepoll_ctl(4, EPOLL_CTL_MOD, 3, {EPOLLIN, {u32=3, u64=81604378627}}) = 0\r\nepoll_wait(4, {{EPOLLIN, {u32=3, u64=81604378627}}}, 4096, -1) = 1\r\nread(3, \"-ERR Protocol error: invalid bulk length\\r\\n\", 16384) = 42\r\nwrite(1, \"bool(false)\\n\", 12)           = 12\r\nepoll_wait(4, {{EPOLLIN, {u32=3, u64=81604378627}}}, 4096, -1) = 1\r\nread(3, \"\", 16384)                      = 0\r\nepoll_ctl(4, EPOLL_CTL_DEL, 3, NULL)    = 0\r\nclose(3)                                = 0\r\nclose(2)                                = 0\r\nclose(1)                                = 0\r\nclose(0)                                = 0\r\nmunmap(0x7f827203c000, 2152096)         = 0\r\nmunmap(0x7f8271e2e000, 2151464)         = 0\r\nmunmap(0x7f8272b24000, 2131256)         = 0\r\nmunmap(0x7f827290f000, 2180328)         = 0\r\nmunmap(0x7f82726d0000, 2351336)         = 0\r\nmunmap(0x7f827244f000, 2621456)         = 0\r\nmunmap(0x7f827224a000, 2113656)         = 0\r\nmunmap(0x7f8272d2d000, 2143192)         = 0\r\nmunmap(0x7f8272f39000, 2126936)         = 0\r\nmunmap(0x7f8273141000, 2130672)         = 0\r\nmunmap(0x7f827334a000, 2109904)         = 0\r\nmunmap(0x7f827354e000, 2105680)         = 0\r\nmunmap(0x7f8273751000, 2114032)         = 0\r\nmunmap(0x7f8273956000, 2145520)         = 0\r\nmunmap(0x7f8273b62000, 2126736)         = 0\r\nmunmap(0x7f8273d6a000, 2364784)         = 0\r\nmunmap(0x7f8274261000, 2122944)         = 0\r\nmunmap(0x7f8273fac000, 2836184)         = 0\r\nmunmap(0x7f8274468000, 2122664)         = 0\r\nmunmap(0x7f827466f000, 2209968)         = 0\r\nmunmap(0x7f827488b000, 2226336)         = 0\r\nmunmap(0x7f8274aab000, 2147240)         = 0\r\nmunmap(0x7f8274cb8000, 2353888)         = 0\r\nmunmap(0x7f8275234000, 2138688)         = 0\r\nmunmap(0x7f8277399000, 2300688)         = 0\r\nmunmap(0x7f827543f000, 2151040)         = 0\r\nmunmap(0x7f8276f9a000, 4187104)         = 0\r\nmunmap(0x7f8276c21000, 3641312)         = 0\r\nmunmap(0x7f827564d000, 22884400)        = 0\r\nmunmap(0x7f82788c4000, 2451520)         = 0\r\nmunmap(0x7f8278666000, 2479496)         = 0\r\nmunmap(0x7f82783c1000, 2770600)         = 0\r\nmunmap(0x7f8277e71000, 2168016)         = 0\r\nmunmap(0x7f8278083000, 3399168)         = 0\r\nmunmap(0x7f8277c46000, 2270248)         = 0\r\nmunmap(0x7f82779f1000, 2441920)         = 0\r\nmunmap(0x7f82777cf000, 2233224)         = 0\r\nmunmap(0x7f82775cb000, 2109736)         = 0\r\nmunmap(0x7f8278b1b000, 4807032)         = 0\r\nmunmap(0x7f8278fb1000, 2269752)         = 0\r\nmunmap(0x7f827af19000, 2168104)         = 0\r\nmunmap(0x7f827acb4000, 2510536)         = 0\r\nmunmap(0x7f827aa81000, 2302416)         = 0\r\nmunmap(0x7f827a857000, 2266784)         = 0\r\nmunmap(0x7f82793f9000, 2430288)         = 0\r\nmunmap(0x7f827964b000, 2155848)         = 0\r\nmunmap(0x7f827a3f2000, 2255608)         = 0\r\nmunmap(0x7f827a619000, 2347816)         = 0\r\nmunmap(0x7f827a0cd000, 3294408)         = 0\r\nmunmap(0x7f8279ea1000, 2275936)         = 0\r\nmunmap(0x7f8279a98000, 2113936)         = 0\r\nmunmap(0x7f8279c9d000, 2109800)         = 0\r\nmunmap(0x7f827985a000, 2350496)         = 0\r\nmunmap(0x7f82791dc000, 2213960)         = 0\r\nmunmap(0x7f827b12b000, 2126336)         = 0\r\nmunmap(0x7f827b546000, 2217904)         = 0\r\nmunmap(0x7f827b333000, 2171952)         = 0\r\nmunmap(0x7f827b764000, 2619528)         = 0\r\nmunmap(0x7f8274ef7000, 3392480)         = 0\r\nmunmap(0x7f828002c000, 1052672)         = 0\r\nmunmap(0x7f828012d000, 266240)          = 0\r\nmunmap(0x7f827ffdd000, 323584)          = 0\r\nexit_group(0)                           = ?\r\n+++ exited with 0 +++\r\n···"}}