Closed kn007 closed 10 years ago
请提供SIGABRT的 backtrace 如何提供backtrace, 请参看: http://bugs.php.net/bugs-generating-backtrace.php for *NIX and http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32
2014-05-11 14:49 GMT+08:00 kn007 notifications@github.com:
原谅我使用中文,英文书写不好。十分抱歉。
我遇到的问题是,使用了opcache7.0.3和7.0.4-dev,在php-fpm.log可以看到大量的signal 6 (SIGABRT),可以访问,但在流量大的时候有点卡。当我禁用了opcache时,正常。没有其他的加载项(.so)。
重启php-fpm(FastCGI),会出现signal 11 (SIGSEGV),这时候网页访问都是502,nginx的error.log没有错误。偶尔重启后是出现signal 7 (SIGBUS),这时候跟signal 6的情况差不多,可以访问,大流量有点卡。
错误的php-fpm.log示例: WARNING: [pool www] child 5012 exited on signal 6 (SIGABRT) after 1.100957 seconds from start
PHP版本是5.5.11。尝试过5.5.9、5.5.10。也是不行。 系统是Centos6.4 X64, 内核是2.6.32-358.0.1.el6.x86_64。 nginx版本是1.7.0,试过1.5.6。仍然是错误。 mysql版本是5.6。也是尝试多个小版本号(5.6.X),结果不行。
nginx和mysql跟这个彻底无关系。
如果在其他条件不变,使用PHP5.5.6,那么opcache版本是7.0.3-dev,这个时候是正常的。没有任何退出信号,在php-fpm.log里,访问也很正常。
如果使用5.5.11,或者说>5.5.6的版本,将opcache版本降级为7.0.2,那么也是正常的。
php 5.5的opcache是标准模块来的,如果为了稳定,不要使用跟不一起发布的版本。这个跟你使用源有关,推荐使用 http://rpms.famillecollet.com/ remi的php源,如果有问题可以跟remi源的维护者反映。
感觉好奇怪,不知有没有朋友遇到过?
愿意提供VPS帐号,以供解决。
另外,还有一个小问题。。。 如果PHP5.5.12使用listen = /tmp/php-cgi.sock,那么会出现权限拒绝。看了下 /tmp/php-cgi.sock 权限是660,使用端口模式正常。当版本<5.5.12正常,权限都是666。 我的问题是。。。是不是用port好过file(unix)?
不是。这些基础的权限问题,请自己看php-fpm.conf里面的注释说明,如果你的nginx用户和php的不同(不推荐),设置权限为0666。
谢谢!
— Reply to this email directly or view it on GitHubhttps://github.com/zendtech/ZendOptimizerPlus/issues/176 .
Preston M. Linuxer uses Arch/Ubuntu, Pythoner --> Blog: http://apt-blog.net Github: https://github.com/pentie
nginx和php用户一致。 mysql和nginx只是顺便说说,怕有关,毕竟是与php一起编译的。 不用yum或rpm安装php,而是直接编译的。 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --with-zlib --with-zlib-dir=/usr/local/zlib --with-libxml-dir=/usr/local/libxml2 --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl=/usr/local/curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pcre-dir=/usr/local/pcre/bin/pcre-config --enable-debug 所谓基础权限指的是?那为何<5.5.12就可以呢。。。不明所以。 不好意思,php-fpm.conf我是直接覆盖的。。。我一会重新编译看看。 至于core dump的问题,我有跟laruence说了下,一开始是有 exited on signal 11 (SIGSEGV - core dumped) 但是core文件是0kb。。。 重启fpm后,直接是exited on signal 11 (SIGSEGV) ,根本没有core文件,不解。。。 重装了vps,准备重来。 另外谢谢你的回答和帮助,十分感谢!
On May 11, 2014 10:12 PM, "kn007" notifications@github.com wrote:
nginx和php用户一致。 mysql和nginx只是顺便说说,怕有关,毕竟是与php一起编译的。 不用yum或rpm安装php,而是直接编译的。 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --with-zlib --with-zlib-dir=/usr/local/zlib --with-libxml-dir=/usr/local/libxml2 --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl=/usr/local/curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pcre-dir=/usr/local/pcre/bin/pcre-config --enable-debug 所谓基础权限指的是?那为何<5.5.12就可以呢。。。不明所以。
因为5.5某个小版本后的php-fpm.conf配置有了不小的变化。
不好意思,php-fpm.conf我是直接覆盖的。。。我一会重新编译看看。 至于core dump的问题,我有跟laruence说了下,一开始是有 exited on signal 11 (SIGSEGV - core dumped) 但是core文件是0kb。。。 重启fpm后,直接是exited on signal 11 (SIGSEGV) ,根本没有core文件,不解。。。 重装了vps,准备重来。 另外谢谢你的回答和帮助,十分感谢!
— Reply to this email directly or view it on GitHub.
原来如此啊!受教了,一个不好的习惯。。。从来不看change log,如果没有语法变化的话。。。发现了php-fpm.conf.default,一会编译5.5.12的conf看看
enable-debug发现错误明显少了,或者说ulimit -S -c unlimited后少了。。。 暂时抓到的。
[root@test ~]# gdb /usr/local/php/sbin/php-fpm /home/wwwroot/core-php-fpm.30607.1399819018 GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1) Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x8664-redhat-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/local/php/sbin/php-fpm...done. [New Thread 30607] Missing separate debuginfo for /usr/local/lib/libz.so.1 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/11/659ac867ca8fbe14a323fb3610f669b3a0bbf9 Missing separate debuginfo for /usr/local/lib/libltdl.so.7 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/b9/3eeebc8b0b514c02106db922773e5cf71108bf Missing separate debuginfo for /usr/local/libpng/lib/libpng16.so.16 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/b1/fd78187472b6081cfc7774f62dc619427037d8 Missing separate debuginfo for /usr/local/libjpeg/lib/libjpeg.so.9 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/2b/bf6655637bc03a9ae1d0863ad8c773661d4b3c Missing separate debuginfo for /usr/local/curl/lib/libcurl.so.4 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/0b/946d215a428b74a42be00a6d8bbdd786ef0f45 Missing separate debuginfo for /usr/local/freetype/lib/libfreetype.so.6 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/20/adfb61a280430ab3a39b037826267b14b04c93 Missing separate debuginfo for /usr/local/libxml2/lib/libxml2.so.2 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/2f/fb9f6d9356216e56ae9fd654dc3192881fe9ed Missing separate debuginfo for /usr/local/libiconv/lib/libiconv.so.2 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/c4/e06cde2810e2c5cc6ad811796d5f04cd83da87 Missing separate debuginfo for /usr/local/php/lib/php/extensions/debug-non-zts-20121212/opcache.so Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/2a/e140d92db96ecbff74c75ae38e5fab16768842 Missing separate debuginfo for Try: yum --disablerepo='' --enablerepo='-debug_' install /usr/lib/debug/.build-id/23/945ddfbe56f6256c00ee3c4647672978b1490c Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libcrypt.so.1 Reading symbols from /usr/local/lib/libz.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/local/lib/libz.so.1 Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/librt.so.1 Reading symbols from /usr/lib64/libmcrypt.so.4...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libmcrypt.so.4 Reading symbols from /usr/local/lib/libltdl.so.7...done. Loaded symbols for /usr/local/lib/libltdl.so.7 Reading symbols from /usr/local/libpng/lib/libpng16.so.16...done. Loaded symbols for /usr/local/libpng/lib/libpng16.so.16 Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libm.so.6 Reading symbols from /usr/local/libjpeg/lib/libjpeg.so.9...done. Loaded symbols for /usr/local/libjpeg/lib/libjpeg.so.9 Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libdl.so.2 Reading symbols from /lib64/libnsl.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libnsl.so.1 Reading symbols from /usr/lib64/libssl.so.10...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libssl.so.10 Reading symbols from /usr/lib64/libcrypto.so.10...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libcrypto.so.10 Reading symbols from /usr/local/curl/lib/libcurl.so.4...(no debugging symbols found)...done. Loaded symbols for /usr/local/curl/lib/libcurl.so.4 Reading symbols from /lib64/libidn.so.11...(no debugging symbols found)...done. Loaded symbols for /lib64/libidn.so.11 Reading symbols from /lib64/libldap-2.4.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libldap-2.4.so.2 Reading symbols from /usr/local/freetype/lib/libfreetype.so.6...done. Loaded symbols for /usr/local/freetype/lib/libfreetype.so.6 Reading symbols from /lib64/libbz2.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libbz2.so.1 Reading symbols from /usr/lib64/libpng12.so.0...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libpng12.so.0 Reading symbols from /usr/local/libxml2/lib/libxml2.so.2...done. Loaded symbols for /usr/local/libxml2/lib/libxml2.so.2 Reading symbols from /usr/local/libiconv/lib/libiconv.so.2...done. Loaded symbols for /usr/local/libiconv/lib/libiconv.so.2 Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libc.so.6 Reading symbols from /lib64/libresolv.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libresolv.so.2 Reading symbols from /lib64/libfreebl3.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libfreebl3.so Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done. [Thread debugging using libthread_db enabled] Loaded symbols for /lib64/libpthread.so.0 Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /lib64/libgssapi_krb5.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libgssapi_krb5.so.2 Reading symbols from /lib64/libkrb5.so.3...(no debugging symbols found)...done. Loaded symbols for /lib64/libkrb5.so.3 Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libcom_err.so.2 Reading symbols from /lib64/libk5crypto.so.3...(no debugging symbols found)...done. Loaded symbols for /lib64/libk5crypto.so.3 Reading symbols from /lib64/liblber-2.4.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/liblber-2.4.so.2 Reading symbols from /usr/lib64/libssl3.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libssl3.so Reading symbols from /usr/lib64/libsmime3.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libsmime3.so Reading symbols from /usr/lib64/libnss3.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libnss3.so Reading symbols from /usr/lib64/libnssutil3.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libnssutil3.so Reading symbols from /lib64/libplds4.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libplds4.so Reading symbols from /lib64/libplc4.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libplc4.so Reading symbols from /lib64/libnspr4.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libnspr4.so Reading symbols from /usr/lib64/libsasl2.so.2...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libsasl2.so.2 Reading symbols from /lib64/libkrb5support.so.0...(no debugging symbols found)...done. Loaded symbols for /lib64/libkrb5support.so.0 Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libkeyutils.so.1 Reading symbols from /lib64/libselinux.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libselinux.so.1 Reading symbols from /usr/local/php/lib/php/extensions/debug-non-zts-20121212/opcache.so...done. Loaded symbols for /usr/local/php/lib/php/extensions/debug-non-zts-20121212/opcache.so Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libnss_files.so.2 Core was generated by `php-fpm: pool www '. Program terminated with signal 11, Segmentation fault.
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.5-7.el6_0.x86_64 cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64 glibc-2.12-1.132.el6.x86_64 keyutils-libs-1.4 4.el6.x86_64 krb5-libs-1.10.3-15.el6_5.1.x86_64 libcom_err-1.41.12-18.el6.x86_64 libidn-1.18-2.el6.x86_64 libmcrypt-2.5.8-9.el6.x86_64 libpng-1.2.49-1.el6_2.x86_64 libse inux-2.0.94-5.3.el6_4.1.x86_64 nspr-4.10.2-1.el6_5.x86_64 nss-3.15.3-6.el6_5.x86_64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64 nss-util-3.15.3-1.el6_5.x86_64 openldap-2.4 23-34.el6_5.1.x86_64 openssl-1.0.1e-16.el6_5.7.x86_64 (gdb) where
(gdb) bt
(gdb)
这个貌似错误多一点。。。
[root@test ~]# gdb /usr/local/php/sbin/php-fpm /home/wwwroot/core-php-fpm.30716.1399819251 GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1) Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x8664-redhat-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/local/php/sbin/php-fpm...done. [New Thread 30716] Missing separate debuginfo for /usr/local/lib/libz.so.1 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/11/659ac867ca8fbe14a323fb3610f669b3a0bbf9 Missing separate debuginfo for /usr/local/lib/libltdl.so.7 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/b9/3eeebc8b0b514c02106db922773e5cf71108bf Missing separate debuginfo for /usr/local/libpng/lib/libpng16.so.16 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/b1/fd78187472b6081cfc7774f62dc619427037d8 Missing separate debuginfo for /usr/local/libjpeg/lib/libjpeg.so.9 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/2b/bf6655637bc03a9ae1d0863ad8c773661d4b3c Missing separate debuginfo for /usr/local/curl/lib/libcurl.so.4 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/0b/946d215a428b74a42be00a6d8bbdd786ef0f45 Missing separate debuginfo for /usr/local/freetype/lib/libfreetype.so.6 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/20/adfb61a280430ab3a39b037826267b14b04c93 Missing separate debuginfo for /usr/local/libxml2/lib/libxml2.so.2 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/2f/fb9f6d9356216e56ae9fd654dc3192881fe9ed Missing separate debuginfo for /usr/local/libiconv/lib/libiconv.so.2 Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/c4/e06cde2810e2c5cc6ad811796d5f04cd83da87 Missing separate debuginfo for /usr/local/php/lib/php/extensions/debug-non-zts-20121212/opcache.so Try: yum --disablerepo='' --enablerepo='-debug' install /usr/lib/debug/.build-id/2a/e140d92db96ecbff74c75ae38e5fab16768842 Missing separate debuginfo for Try: yum --disablerepo='' --enablerepo='-debug_' install /usr/lib/debug/.build-id/23/945ddfbe56f6256c00ee3c4647672978b1490c Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libcrypt.so.1 Reading symbols from /usr/local/lib/libz.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/local/lib/libz.so.1 Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/librt.so.1 Reading symbols from /usr/lib64/libmcrypt.so.4...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libmcrypt.so.4 Reading symbols from /usr/local/lib/libltdl.so.7...done. Loaded symbols for /usr/local/lib/libltdl.so.7 Reading symbols from /usr/local/libpng/lib/libpng16.so.16...done. Loaded symbols for /usr/local/libpng/lib/libpng16.so.16 Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libm.so.6 Reading symbols from /usr/local/libjpeg/lib/libjpeg.so.9...done. Loaded symbols for /usr/local/libjpeg/lib/libjpeg.so.9 Reading symbols from /lib64/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libdl.so.2 Reading symbols from /lib64/libnsl.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libnsl.so.1 Reading symbols from /usr/lib64/libssl.so.10...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libssl.so.10 Reading symbols from /usr/lib64/libcrypto.so.10...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libcrypto.so.10 Reading symbols from /usr/local/curl/lib/libcurl.so.4...(no debugging symbols found)...done. Loaded symbols for /usr/local/curl/lib/libcurl.so.4 Reading symbols from /lib64/libidn.so.11...(no debugging symbols found)...done. Loaded symbols for /lib64/libidn.so.11 Reading symbols from /lib64/libldap-2.4.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libldap-2.4.so.2 Reading symbols from /usr/local/freetype/lib/libfreetype.so.6...done. Loaded symbols for /usr/local/freetype/lib/libfreetype.so.6 Reading symbols from /lib64/libbz2.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libbz2.so.1 Reading symbols from /usr/lib64/libpng12.so.0...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libpng12.so.0 Reading symbols from /usr/local/libxml2/lib/libxml2.so.2...done. Loaded symbols for /usr/local/libxml2/lib/libxml2.so.2 Reading symbols from /usr/local/libiconv/lib/libiconv.so.2...done. Loaded symbols for /usr/local/libiconv/lib/libiconv.so.2 Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib64/libc.so.6 Reading symbols from /lib64/libresolv.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libresolv.so.2 Reading symbols from /lib64/libfreebl3.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libfreebl3.so Reading symbols from /lib64/libpthread.so.0...(no debugging symbols found)...done. [Thread debugging using libthread_db enabled] Loaded symbols for /lib64/libpthread.so.0 Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Reading symbols from /lib64/libgssapi_krb5.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libgssapi_krb5.so.2 Reading symbols from /lib64/libkrb5.so.3...(no debugging symbols found)...done. Loaded symbols for /lib64/libkrb5.so.3 Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libcom_err.so.2 Reading symbols from /lib64/libk5crypto.so.3...(no debugging symbols found)...done. Loaded symbols for /lib64/libk5crypto.so.3 Reading symbols from /lib64/liblber-2.4.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/liblber-2.4.so.2 Reading symbols from /usr/lib64/libssl3.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libssl3.so Reading symbols from /usr/lib64/libsmime3.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libsmime3.so Reading symbols from /usr/lib64/libnss3.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libnss3.so Reading symbols from /usr/lib64/libnssutil3.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libnssutil3.so Reading symbols from /lib64/libplds4.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libplds4.so Reading symbols from /lib64/libplc4.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libplc4.so Reading symbols from /lib64/libnspr4.so...(no debugging symbols found)...done. Loaded symbols for /lib64/libnspr4.so Reading symbols from /usr/lib64/libsasl2.so.2...(no debugging symbols found)...done. Loaded symbols for /usr/lib64/libsasl2.so.2 Reading symbols from /lib64/libkrb5support.so.0...(no debugging symbols found)...done. Loaded symbols for /lib64/libkrb5support.so.0 Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libkeyutils.so.1 Reading symbols from /lib64/libselinux.so.1...(no debugging symbols found)...done. Loaded symbols for /lib64/libselinux.so.1 Reading symbols from /usr/local/php/lib/php/extensions/debug-non-zts-20121212/opcache.so...done. Loaded symbols for /usr/local/php/lib/php/extensions/debug-non-zts-20121212/opcache.so Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/libnss_files.so.2 Core was generated by `php-fpm: pool www '. Program terminated with signal 11, Segmentation fault.
at /root/php-5.5.11/Zend/zend_variables.c:35
35 CHECK_ZVAL_STRING_REL(zvalue); Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.5-7.el6_0.x86_64 cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64 glibc-2.12-1.132.el6.x86_64 keyutils-libs-1.4- 4.el6.x86_64 krb5-libs-1.10.3-15.el6_5.1.x86_64 libcom_err-1.41.12-18.el6.x86_64 libidn-1.18-2.el6.x86_64 libmcrypt-2.5.8-9.el6.x86_64 libpng-1.2.49-1.el6_2.x86_64 libsel inux-2.0.94-5.3.el6_4.1.x86_64 nspr-4.10.2-1.el6_5.x86_64 nss-3.15.3-6.el6_5.x86_64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64 nss-util-3.15.3-1.el6_5.x86_64 openldap-2.4. 23-34.el6_5.1.x86_64 openssl-1.0.1e-16.el6_5.7.x86_64 (gdb) where
at /root/php-5.5.11/Zend/zend_variables.c:35
at /root/php-5.5.11/Zend/zend_variables.h:35
(gdb) bt
at /root/php-5.5.11/Zend/zend_variables.c:35
at /root/php-5.5.11/Zend/zend_variables.h:35
(gdb)
错误貌似都不同。。。
[root@test ~]# gdb /usr/local/php/sbin/php-fpm /home/wwwroot/core-php-fpm.30848.1399819762 GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6_4.1) Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/local/php/sbin/php-fpm...done. BFD: Warning: /home/wwwroot/core-php-fpm.30848.1399819762 is truncated: expected core file size >= 141496320, found: 141406208. [New Thread 30848] Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done. Loaded symbols for /lib64/ld-linux-x86-64.so.2 Failed to read a valid object file image from memory. Core was generated by `php-fpm: pool www '. Program terminated with signal 11, Segmentation fault.
) at /root/php-5.5.11/Zend/zend_variables.c:35 35 CHECK_ZVAL_STRING_REL(zvalue); Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.x86_64 (gdb) where
) at /root/php-5.5.11/Zend/zend_variables.c:35 Cannot access memory at address 0x7fff53dd4b98 (gdb) bt
) at /root/php-5.5.11/Zend/zend_variables.c:35 Cannot access memory at address 0x7fff53dd4b98 (gdb)
上面三个的frame
第一个:
(gdb) frame 0
(gdb) frame 1
808 req->fd = accept(listen_socket, (struct sockaddr *)&sa, &len); (gdb) frame 2
1860 while (fcgi_accept_request(&request) >= 0) { (gdb)
第二个:
(gdb) frame 0
at /root/php-5.5.11/Zend/zend_variables.c:35
35 CHECK_ZVAL_STRING_REL(zvalue); (gdb) frame 1
at /root/php-5.5.11/Zend/zend_variables.h:35
35 _zval_dtor_func(zvalue ZEND_FILE_LINE_RELAY_CC); (gdb) frame 2
7628 zendi_zval_dtor(EX_T(opline->op1.var).tmp_var); (gdb) frame 3
363 if ((ret = OPLINE->handler(execute_data TSRMLS_CC)) > 0) { (gdb) frame 4
388 zend_execute_ex(i_create_execute_data_from_op_array(op_array, 0 TSRMLS_CC) TSRMLS_CC); (gdb) frame 5
1316 zend_execute(EG(active_op_array) TSRMLS_CC); (gdb) frame 6
2506 retval = (zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL, 3, prepend_file_p, primary_file, append_file_p) == SUCCESS); (gdb) frame 7
1933 php_execute_script(&file_handle TSRMLS_CC); (gdb)
第三个:
(gdb) frame 0
) at /root/php-5.5.11/Zend/zend_variables.c:35 35 CHECK_ZVAL_STRING_REL(zvalue);
话说我的php-fpm.conf是: [global] pid = /usr/local/php/var/run/php-fpm.pid error_log = /usr/local/php/var/log/php-fpm.log log_level = notice rlimit_files = 65535 rlimit_core = 0 emergency_restart_threshold = 30 emergency_restart_interval = 60s
[www] listen = /tmp/php-cgi.sock user = www group = www pm = dynamic pm.max_children = 50 pm.start_servers = 4 pm.min_spare_servers = 4 pm.max_spare_servers = 50 request_terminate_timeout = 60 有需要改动的么》?迎合5.5.12的话
原来是listen.mode = 0660,要改成0666
奇怪的是,没出现SIGABRT和SIGBUS了,表示不解。。。
今天爬到测试服务器,再次看了下,都是如下错误
(gdb) backtrace
at /root/php-5.5.11/Zend/zend_variables.c:45
at /root/php-5.5.11/Zend/zend_variables.h:35
不--enable-debug,出现了很多信号6每秒
Loaded symbols for /lib64/libnss_files.so.2 Core was generated by `php-fpm: pool www '. Program terminated with signal 6, Aborted.
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.5-7.el6_0.x86_64 cyrus-sasl-lib-2.1.23-13.el6_3.1.x86 _64 glibc-2.12-1.132.el6_5.1.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.10.3-15.el6_5.1.x86_64 libcom_err-1.41.12 -18.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libmcrypt-2.5.8-9.el6.x86_64 libpng-1.2.49-1.el6_2.x86 _64 libselinux-2.0.94-5.3.el6_4.1.x86_64 libstdc++-4.4.7-4.el6.x86_64 nspr-4.10.2-1.el6_5.x86_64 nss-3.15.3-6.el65.x86 64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64 nss-util-3.15.3-1.el6_5.x86_64 openldap-2.4.23-34.el6_5.1.x86_64 openssl-1. 0.1e-16.el6_5.7.x86_64 (gdb) backtrace
at /root/php-5.5.12/sapi/fpm/fpm/fpm_main.c:1933
(gdb)
全部清一色
Loaded symbols for /lib64/libnss_files.so.2 Core was generated by `php-fpm: pool www '. Program terminated with signal 6, Aborted.
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.5-7.el6_0.x86_64 cyrus-sasl-lib-2.1.23-13.el6_3.1.x86 _64 glibc-2.12-1.132.el6_5.1.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.10.3-15.el6_5.1.x86_64 libcom_err-1.41.12 -18.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libmcrypt-2.5.8-9.el6.x86_64 libpng-1.2.49-1.el6_2.x86 _64 libselinux-2.0.94-5.3.el6_4.1.x86_64 libstdc++-4.4.7-4.el6.x86_64 nspr-4.10.2-1.el6_5.x86_64 nss-3.15.3-6.el65.x86 64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64 nss-util-3.15.3-1.el6_5.x86_64 openldap-2.4.23-34.el6_5.1.x86_64 openssl-1. 0.1e-16.el6_5.7.x86_64 (gdb) backtrace
at /root/php-5.5.12/sapi/fpm/fpm/fpm_main.c:1933
(gdb)
新的11信号
Core was generated by `php-fpm: pool www '. Program terminated with signal 11, Segmentation fault.
2075 size = ZEND_MM_BLOCK_SIZE(mm_block); Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.5-7.el6_0.x86_64 cyrus-sasl-lib-2.1.23-13.el6_3.1.x86 _64 glibc-2.12-1.132.el6_5.1.x86_64 keyutils-libs-1.4-4.el6.x86_64 krb5-libs-1.10.3-15.el6_5.1.x86_64 libcom_err-1.41.12 -18.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libmcrypt-2.5.8-9.el6.x86_64 libpng-1.2.49-1.el6_2.x86 _64 libselinux-2.0.94-5.3.el6_4.1.x86_64 libstdc++-4.4.7-4.el6.x86_64 nspr-4.10.2-1.el6_5.x86_64 nss-3.15.3-6.el65.x86 64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64 nss-util-3.15.3-1.el6_5.x86_64 openldap-2.4.23-34.el6_5.1.x86_64 openssl-1. 0.1e-16.el6_5.7.x86_64 (gdb) backtrace
at /root/php-5.5.12/sapi/fpm/fpm/fpm_main.c:1933
(gdb)
你最好能找个重现脚本, 否则......没啥用
这两个
wget -c http://www.yahei.net/tz/tz.zip unzip tz.zip mv tz.php /home/wwwroot/tools/yhtz.php
wget -c https://gist.github.com/ck-on/4959032/raw/0b871b345fd6cfcd6d2be030c1f33d1ad6a475cb/ocp.php -O opcache.php
我服务器上啥米东东都没有,就是这些基础脚本
[opcache] zend_extension=opcache.so opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1 opcache.enable=1 opcache.save_comments=0
这些有没有问题先、、、
我只要注释这些就没问题了
单纯 [opcache] zend_extension=opcache.so
也是会有退出信号
鸟哥,为什么会这么奇怪呢,我只要编译带--enable-debug,就一点错都很少出现。。。基本没遇上。。。要不要这样子。。
5.5.12编译带--enable-debug启用opcache启用其他扩展,没出现任何退出信号,很正常。 编译不带--enable-debug启用opcache启用其他扩展,立即出现错误退出信号; 编译不带--enable-debug启用opcache不启用其他扩展,立即出现错误退出信号; 编译不带--enable-debug不启用opcache启用其他扩展,正常,没有任何错误; 编译不带--enable-debug不启用opcache不启用其他扩展,正常,没有任何错误。 测试网页http://www.yahei.net/tz/tz.zip和https://gist.github.com/ck-on/4959032/raw/0b871b345fd6cfcd6d2be030c1f33d1ad6a475cb/ocp.php。
没有结果就关了?
原谅我使用中文,英文书写不好。十分抱歉。
我遇到的问题是,使用了opcache7.0.3和7.0.4-dev,在php-fpm.log可以看到大量的signal 6 (SIGABRT),可以访问,但在流量大的时候有点卡。当我禁用了opcache时,正常。没有其他的加载项(.so)。
重启php-fpm(FastCGI),会出现signal 11 (SIGSEGV),这时候网页访问都是502,nginx的error.log没有错误。偶尔重启后是出现signal 7 (SIGBUS),这时候跟signal 6的情况差不多,可以访问,大流量有点卡。
错误的php-fpm.log示例: WARNING: [pool www] child 5012 exited on signal 6 (SIGABRT) after 1.100957 seconds from start
PHP版本是5.5.11。尝试过5.5.9、5.5.10。也是不行。 系统是Centos6.4 X64, 内核是2.6.32-358.0.1.el6.x86_64。 nginx版本是1.7.0,试过1.5.6。仍然是错误。 mysql版本是5.6。也是尝试多个小版本号(5.6.X),结果不行。
如果在其他条件不变,使用PHP5.5.6,那么opcache版本是7.0.3-dev,这个时候是正常的。没有任何退出信号,在php-fpm.log里,访问也很正常。
如果使用5.5.11,或者说>5.5.6的版本,将opcache版本降级为7.0.2,那么也是正常的。
感觉好奇怪,不知有没有朋友遇到过?
愿意提供VPS帐号,以供解决。
另外,还有一个小问题。。。 如果PHP5.5.12使用listen = /tmp/php-cgi.sock,那么会出现权限拒绝。看了下 /tmp/php-cgi.sock 权限是660,使用端口模式正常。当版本<5.5.12正常,权限都是666。 我的问题是。。。是不是用port好过file(unix)?
谢谢!