{"action":"opened","issue":{"url":"https://api.github.com/repos/swoole/swoole-src/issues/1926","repository_url":"https://api.github.com/repos/swoole/swoole-src","labels_url":"https://api.github.com/repos/swoole/swoole-src/issues/1926/labels{/name}","comments_url":"https://api.github.com/repos/swoole/swoole-src/issues/1926/comments","events_url":"https://api.github.com/repos/swoole/swoole-src/issues/1926/events","html_url":"https://github.com/swoole/swoole-src/issues/1926","id":355471606,"node_id":"MDU6SXNzdWUzNTU0NzE2MDY=","number":1926,"title":"swoole server 无响应","user":{"login":"buddy-yao","id":19948569,"node_id":"MDQ6VXNlcjE5OTQ4NTY5","avatar_url":"https://avatars2.githubusercontent.com/u/19948569?v=4","gravatar_id":"","url":"https://api.github.com/users/buddy-yao","html_url":"https://github.com/buddy-yao","followers_url":"https://api.github.com/users/buddy-yao/followers","following_url":"https://api.github.com/users/buddy-yao/following{/other_user}","gists_url":"https://api.github.com/users/buddy-yao/gists{/gist_id}","starred_url":"https://api.github.com/users/buddy-yao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/buddy-yao/subscriptions","organizations_url":"https://api.github.com/users/buddy-yao/orgs","repos_url":"https://api.github.com/users/buddy-yao/repos","events_url":"https://api.github.com/users/buddy-yao/events{/privacy}","received_events_url":"https://api.github.com/users/buddy-yao/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-08-30T08:08:30Z","updated_at":"2018-08-30T08:08:30Z","closed_at":null,"author_association":"NONE","body":"Please answer these questions before submitting your issue. Thanks!\r\n\r\n1. What did you do? If possible, provide a recipe for reproducing the error.\r\n通过 swoole_client 短时间发送很多条任务数据到 swoole_server 上, 发送速度较快, 导致\r\nswoole_server 无响应. 通过strace 命令查看系统调用信息发现一个 task 进程一直重复一个失败的操作. 导致无法处理后来的任务请求. \r\n```\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\npoll([{fd=10, events=POLLOUT}], 1, 1000) = 0 (Timeout)\r\nwrite(10, \"\\205\\0\\0\\0I\\0\\0\\0\\10\\0\\0\\0{\\\"action\\\":\\\"fetchWxHe\"..., 85) = -1 EAGAIN (Resource temporarily unavailable)\r\n```\r\n2. What did you expect to see?\r\n可以正确处理任务, 处理不过来应该缓存下来.\r\n\r\n3. What did you see instead?\r\n\r\n无法处理新的任务\r\n\r\n4. What version of Swoole are you using (`php --ri swoole`)?\r\n```\r\nroot@d658bd08033a:/var/www/html# php --ri swoole\r\n\r\nswoole\r\n\r\nswoole support => enabled\r\nVersion => 1.9.21\r\nAuthor => tianfeng.han[email: mikan.tenny@gmail.com]\r\nepoll => enabled\r\neventfd => enabled\r\ntimerfd => enabled\r\nsignalfd => enabled\r\ncpu affinity => enabled\r\nspinlock => enabled\r\nrwlock => enabled\r\nasync http/websocket client => enabled\r\nLinux Native AIO => enabled\r\npcre => enabled\r\nzlib => enabled\r\nmutex_timedlock => enabled\r\npthread_barrier => enabled\r\nfutex => enabled\r\n\r\nDirective => Local Value => Master Value\r\nswoole.aio_thread_num => 2 => 2\r\nswoole.display_errors => On => On\r\nswoole.use_namespace => Off => Off\r\nswoole.fast_serialize => Off => Off\r\nswoole.unixsock_buffer_size => 8388608 => 8388608\r\n```\r\n\r\n\r\n5. What is your machine environment used (including version of kernel & php & gcc) ? \r\n```\r\nroot@d658bd08033a:/var/www/html# uname -a\r\nLinux d658bd08033a 4.9.93-linuxkit-aufs #1 SMP Wed Jun 6 16:55:56 UTC 2018 x86_64 GNU/Linux\r\nroot@d658bd08033a:/var/www/html# gcc --version\r\n\r\nroot@8ade5f7f6a70:/var/www/html# php -v\r\nPHP 5.6.32 (cli) (built: Dec  1 2017 03:00:45)\r\nCopyright (c) 1997-2016 The PHP Group\r\nZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies\r\n    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies\r\n\r\ngcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516\r\nCopyright (C) 2016 Free Software Foundation, Inc.\r\nThis is free software; see the source for copying conditions.  There is NO\r\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\r\n```\r\n\r\n\r\n6. If you are using ssl, what is your openssl version?\r\nno\r\n\r\n是否还需要别的信息?"}}
{"actor":{"display_login":"buddy-yao"}}