{"action":"closed","issue":{"url":"https://api.github.com/repos/swoole/swoole-src/issues/960","repository_url":"https://api.github.com/repos/swoole/swoole-src","labels_url":"https://api.github.com/repos/swoole/swoole-src/issues/960/labels{/name}","comments_url":"https://api.github.com/repos/swoole/swoole-src/issues/960/comments","events_url":"https://api.github.com/repos/swoole/swoole-src/issues/960/events","html_url":"https://github.com/swoole/swoole-src/issues/960","id":196341734,"number":960,"title":"worker进程在php7下没有任何报错的情况下重启","user":{"login":"jqhph","id":20312339,"avatar_url":"https://avatars.githubusercontent.com/u/20312339?v=3","gravatar_id":"","url":"https://api.github.com/users/jqhph","html_url":"https://github.com/jqhph","followers_url":"https://api.github.com/users/jqhph/followers","following_url":"https://api.github.com/users/jqhph/following{/other_user}","gists_url":"https://api.github.com/users/jqhph/gists{/gist_id}","starred_url":"https://api.github.com/users/jqhph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jqhph/subscriptions","organizations_url":"https://api.github.com/users/jqhph/orgs","repos_url":"https://api.github.com/users/jqhph/repos","events_url":"https://api.github.com/users/jqhph/events{/privacy}","received_events_url":"https://api.github.com/users/jqhph/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":16,"created_at":"2016-12-19T06:39:00Z","updated_at":"2016-12-20T02:15:47Z","closed_at":"2016-12-20T02:15:47Z","body":"一模一样的代码在php5下是正常的，在php7下运行某一段代码时会莫名其妙自动重启。\r\n\r\n环境：\r\nphp: 7.0.10\r\nswoole: 1.9.1\r\n系统: CentOS release 6.7\r\n\r\n[2016-12-19 14:24:15 $19737.0]\tWARNING\tswManager_check_exit_status: worker#0 abnormal exit, status=0, signal=11\r\n[2016-12-19 14:25:44 *19944.0]\tWARNING\tswSignalfd_onSignal: signal[13] callback is null.\r\n\r\n运行\r\ngdb -p worker进程pid\r\n\r\n(gdb) c\r\nContinuing.\r\nProgram received signal SIGSEGV, Segmentation fault.\r\n0x00000000007e0fbb in zval_delref_p (zval_ptr=0x7efd2280ce98) at /root/php-7.0.10/Zend/zend_types.h:827\r\n827\t/root/php-7.0.10/Zend/zend_types.h: No such file or directory.\r\n\tin /root/php-7.0.10/Zend/zend_types.h\r\n(gdb) \r\nContinuing.\r\n\r\nProgram terminated with signal SIGSEGV, Segmentation fault.\r\nThe program no longer exists.\r\n\r\n\r\n\"/root/php-7.0.10/\"这个目录是php7的软件包路径，编译安装完成之后就被删掉了，是因为这个原因？？？\r\n\r\n运行 \r\nstrace -f -p  worker进程pid\r\n\r\npoll([{fd=6, events=POLLIN|POLLERR|POLLHUP}], 1, -1) = 1 ([{fd=6, revents=POLLIN}])\r\nrecvfrom(6, \"$-1\\r\\n\", 8192, 0, NULL, NULL) = 5\r\npoll([{fd=6, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)\r\nwrite(1, \"[14:24:15] chefang ==> AAGID30FF\"..., 57) = 57\r\nsendto(8, \"\\2\\0\\0\\0!\\0\\0\\0\\0S\\0\\0AAGID30FFDC053353313\"..., 45, 0, NULL, 0) = 45\r\nwrite(1, \"[14:24:15] ch result ===> 1\\n\", 28) = 28\r\npoll([{fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)\r\nsendto(11, \"*3\\r\\n$4\\r\\nHDEL\\r\\n$9\\r\\nis_walert\\r\\n$24\"..., 60, 0, NULL, 0) = 60\r\npoll([{fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 1 ([{fd=11, revents=POLLIN}])\r\nrecvfrom(11, \":\", 1, MSG_PEEK, NULL, NULL) = 1\r\npoll([{fd=11, events=POLLIN|POLLERR|POLLHUP}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])\r\nrecvfrom(11, \":1\\r\\n\", 8192, 0, NULL, NULL) = 4\r\npoll([{fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)\r\nsendto(11, \"*3\\r\\n$4\\r\\nHDEL\\r\\n$6\\r\\nwalert\\r\\n$24\\r\\n3\"..., 57, 0, NULL, 0) = 57\r\npoll([{fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 1 ([{fd=11, revents=POLLIN}])\r\nrecvfrom(11, \":\", 1, MSG_PEEK, NULL, NULL) = 1\r\npoll([{fd=11, events=POLLIN|POLLERR|POLLHUP}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])\r\nrecvfrom(11, \":0\\r\\n\", 8192, 0, NULL, NULL) = 4\r\npoll([{fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout)\r\nsendto(11, \"*2\\r\\n$3\\r\\nDEL\\r\\n$31\\r\\nweb_cf_30FFDC0\"..., 51, 0, NULL, 0) = 51\r\npoll([{fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 1 ([{fd=11, revents=POLLIN}])\r\nrecvfrom(11, \":\", 1, MSG_PEEK, NULL, NULL) = 1\r\npoll([{fd=11, events=POLLIN|POLLERR|POLLHUP}], 1, -1) = 1 ([{fd=11, revents=POLLIN}])\r\nrecvfrom(11, \":0\\r\\n\", 8192, 0, NULL, NULL) = 4\r\n--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xffffffff00000006} ---\r\n+++ killed by SIGSEGV +++\r\n\r\n\r\n"}}
{"actor":{"display_login":"matyhtf"}}