Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

swoole阻塞 无法即时收到信息 #1022

Closed
taozhipeng1990 opened this issue Jan 11, 2017 · 24 comments
Closed

swoole阻塞 无法即时收到信息 #1022

taozhipeng1990 opened this issue Jan 11, 2017 · 24 comments

Comments

@taozhipeng1990
Copy link

Core was generated by `main_work '.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f13c0c311f1 in swoole_set_object (object=, ptr=0x0) at /usr/local/php/swoole-src/swoole.c:421
421 swoole_objects.array[handle] = ptr;
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.166.el6_7.7.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64 libcurl-7.19.7-52.el6.x86_64 libgcc-4.4.7-17.el6.x86_64 libgcrypt-1.4.5-11.el6_4.x86_64 libgpg-error-1.7-4.el6.x86_64 libicu-4.2.1-14.el6.x86_64 libidn-1.18-2.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libssh2-1.4.2-1.el6.x86_64 libstdc++-4.4.7-17.el6.x86_64 libxml2-2.7.6-21.el6_8.1.x86_64 libxslt-1.1.26-2.el6_3.1.x86_64 nspr-4.10.6-1.el6_5.x86_64 nss-3.16.1-4.el6_5.x86_64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64 nss-util-3.16.1-1.el6_5.x86_64 openldap-2.4.23-34.el6_5.1.x86_64 openssl-1.0.1e-48.el6_8.1.x86_64 zlib-1.2.3-29.el6.x86_64

在今晚11点半的时候 数据量大。发现网站无法即时收到信息。
环境 php7 swoole 1.8.8-alpha
上次(上星期五)对服务器(4核8G)进行了一次配置调整。
第一次卡死时,照文档对服务器进行过调整
1 ulimit -n 1000000
2 net.unix.max_dgram_qlen = 100
3 对程序进行了参数调整
'worker_num' => 100,
'task_worker_num'=>300,

@taozhipeng1990
Copy link
Author

卡死时的 htop情况
qq 20170112002936

@taozhipeng1990
Copy link
Author

11:30 -- 11:37 生成了大量的core文件。
每个大量在90MB左右

@taozhipeng1990
Copy link
Author

(gdb) bt
#0 0x00007f13c0c311f1 in swoole_set_object (object=, ptr=0x0) at /usr/local/php/swoole-src/swoole.c:421
#1 0x00007f13c0c44cc2 in swoole_http_context_free (ctx=0x7f13bc9b8e28) at /usr/local/php/swoole-src/swoole_http_server.c:1147
#2 0x00007f13c0c45279 in http_onClose (serv=0x20e5e80, info=0x7ffd31150730) at /usr/local/php/swoole-src/swoole_http_server.c:846
#3 0x00007f13c0c5c008 in swFactoryProcess_end (factory=0x20e62b0, fd=) at /usr/local/php/swoole-src/src/factory/FactoryProcess.c:294
#4 0x00007f13c0c6c1f7 in swWorker_onTask (factory=, task=0x7ffd311507a0) at /usr/local/php/swoole-src/src/network/Worker.c:254
#5 0x00007f13c0c6c46b in swWorker_onPipeReceive (reactor=, event=0x7ffd31152810) at /usr/local/php/swoole-src/src/network/Worker.c:549
#6 0x00007f13c0c5f011 in swReactorEpoll_wait (reactor=0x2140610, timeo=) at /usr/local/php/swoole-src/src/reactor/ReactorEpoll.c:258
#7 0x00007f13c0c6d23f in swWorker_loop (factory=, worker_id=) at /usr/local/php/swoole-src/src/network/Worker.c:496
#8 0x00007f13c0c6a630 in swManager_spawn_worker (factory=0x20e62b0, worker_id=54) at /usr/local/php/swoole-src/src/network/Manager.c:679
#9 0x00007f13c0c6a7a1 in swManager_loop_sync (factory=0x20e62b0) at /usr/local/php/swoole-src/src/network/Manager.c:539
#10 0x00007f13c0c6b6f8 in swManager_start (factory=0x20e62b0) at /usr/local/php/swoole-src/src/network/Manager.c:183
#11 0x00007f13c0c5c2d2 in swFactoryProcess_start (factory=0x20e62b0) at /usr/local/php/swoole-src/src/factory/FactoryProcess.c:86
#12 0x00007f13c0c61a7e in swServer_start (serv=0x20e5e80) at /usr/local/php/swoole-src/src/network/Server.c:645
#13 0x00007f13c0c44f7b in zim_swoole_http_server_start (execute_data=0x7f13c7013220, return_value=0x7f13c7013210)
at /usr/local/php/swoole-src/swoole_http_server.c:1379
#14 0x00000000008b37f8 in ZEND_DO_FCALL_SPEC_HANDLER (execute_data=0x7f13c7013150) at /home/lnmp1.3/src/php-7.0.7/Zend/zend_vm_execute.h:842
#15 0x000000000087b770 in execute_ex (ex=) at /home/lnmp1.3/src/php-7.0.7/Zend/zend_vm_execute.h:417
#16 0x00000000008ce82b in zend_execute (op_array=0x7f13c707e0e0, return_value=) at /home/lnmp1.3/src/php-7.0.7/Zend/zend_vm_execute.h:458
#17 0x000000000083bf03 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /home/lnmp1.3/src/php-7.0.7/Zend/zend.c:1427
#18 0x00000000007de6d0 in php_execute_script (primary_file=0x7ffd31156010) at /home/lnmp1.3/src/php-7.0.7/main/main.c:2494
#19 0x00000000008d2b8a in do_cli (argc=3, argv=0x1eff2d0) at /home/lnmp1.3/src/php-7.0.7/sapi/cli/php_cli.c:974
#20 0x00000000008d338a in main (argc=3, argv=0x1eff2d0) at /home/lnmp1.3/src/php-7.0.7/sapi/cli/php_cli.c:1344

@taozhipeng1990
Copy link
Author

image
main_work 是我重新命名的

@taozhipeng1990
Copy link
Author

服务器修改后的参数
net.ipv4.ip_forward = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 4203520
kernel.msgmax = 8192
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_abort_on_overflow = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.core.optmem_max = 81920
net.core.wmem_max = 16777216
net.ipv4.tcp_keepalive_time = 300
net.unix.max_dgram_qlen = 100
net.core.rmem_max = 16777216
kernel.msgmni = 64
net.ipv4.route.max_size = 5242880
vm.swappiness = 0
net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 20000 65000
net.ipv4.tcp_max_syn_backlog = 81920
net.ipv4.tcp_max_tw_buckets = 200000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 862144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_max_orphans = 327680
vm.overcommit_memory = 1
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
fs.file-max = 1048576
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_mem = 379008 505344 758016
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.netfilter.nf_conntrack_max = 1048576
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.nf_conntrack_max = 1048576

@taozhipeng1990
Copy link
Author

@matyhtf 大神,急。在线等。
是不是我参数调整所导致的?

@matyhtf
Copy link
Member

matyhtf commented Jan 12, 2017

你用的swoole版本是alpha可能存在问题,请使用 1.9.4

@matyhtf matyhtf closed this as completed Jan 12, 2017
@taozhipeng1990
Copy link
Author

主要是我这个服务跑了一两个月了,期间也有高峰期。但一直都是正常的。
就是在上个星期五才延迟。然后就对服务器参数进行了调整。
昨晚,发现又爆了。
检测其他程序都是正常的。就是swoole这边推送不了。
想请问下,我的参数调整有问题吗?
晚上我会对swoole进行升级到1.9.4

@matyhtf
Copy link
Member

matyhtf commented Jan 12, 2017

不太确定,ulimit -n 不建议调太大。否则会占用过多内存。

@taozhipeng1990
Copy link
Author

目前是 ulimit -n 262140
昨晚的内存好奇怪。htop中黄色占了大部分。
(黄色表示用于缓存的内存使用情况)

@matyhtf
Copy link
Member

matyhtf commented Jan 12, 2017

可能存在恶意的攻击行为。建立了大量Http的连接,占用了大量内存导致系统资源不足,内存分配失败,触发core

@taozhipeng1990
Copy link
Author

我重写了握手协议那里。如果没有正确的token 就直接return 了

@matyhtf
Copy link
Member

matyhtf commented Jan 12, 2017

这个只能防止建立WebSocket连接,但是不能防止通过Http请求

@taozhipeng1990
Copy link
Author

好吧。我晚上先升级。下个高峰期在持续关注

@taozhipeng1990
Copy link
Author

image
一直报错。
[root@iZbp1ee968s6h7i29enecxZ /]# gdb core.16834
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-64.el6_5.2)
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/...
Missing separate debuginfo for the main executable file
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/86/cddc3ccb910e7104c291920970500db48e3d73
[New Thread 16834]
Core was generated by `main_work '.
Program terminated with signal 11, Segmentation fault.
#0 0x000000000082e59b in ?? ()
"/core.16834" is a core file.
Please specify an executable to debug.
(gdb) bt
#0 0x000000000082e59b in ?? ()
#1 0x00007f549ac35e30 in ?? ()
#2 0x00007f5400000000 in ?? ()
#3 0x0000000000000000 in ?? ()
(gdb)

@matyhtf
Copy link
Member

matyhtf commented Jan 16, 2017

swoole,php 什么版本?

gdb php core.xxxx

贴出详细的信息

@taozhipeng1990
Copy link
Author

image

@matyhtf
Copy link
Member

matyhtf commented Jan 16, 2017

gdb信息呢

@taozhipeng1990
Copy link
Author

[root@iZbp1ee968s6h7i29enecxZ /]# gdb php core.18853
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-64.el6_5.2)
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/bin/php...done.
[New Thread 18853]
Missing separate debuginfo for /usr/local/lib/libmcrypt.so.4
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/86/8a8826cffaa9713220b51aaf9d6a0558784ebf
Missing separate debuginfo for /usr/lib/libpng12.so.0
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/0b/a6b675f43abec4fa2ed5ae83da53a2e32842fb
Missing separate debuginfo for /usr/lib/libjpeg.so.62
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/05/6b2c6a8cb0b42dda3d57a1b5d3670ab99c83bd
Missing separate debuginfo for /usr/local/freetype/lib/libfreetype.so.6
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/85/b53c59eb5c9f105ad64ead8a9844c2290e6064
Missing separate debuginfo for /usr/local/lib/libiconv.so.2
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/c2/a979114bb1af8e2c576567e3ebafbbbb166a45
Missing separate debuginfo for /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/69/e8749a1130f8acca7d2134b0def6c747a8583e
Missing separate debuginfo for /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/swoole.so
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/cb/e1cf93cb2ada8edd4aa08e236aede9d7c90c2a
Missing separate debuginfo for
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/2f/78f7b8a7307dd9c340f3ca735be2caa9c157d1
Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /usr/lib64/libexslt.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libexslt.so.0
Reading symbols from /lib64/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /usr/local/lib/libmcrypt.so.4...done.
Loaded symbols for /usr/local/lib/libmcrypt.so.4
Reading symbols from /usr/lib64/libstdc++.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libstdc++.so.6
Reading symbols from /usr/lib/libpng12.so.0...Missing separate debuginfo for /usr/lib/libpng12.so.0
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/0b/a6b675f43abec4fa2ed5ae83da53a2e32842fb.debug
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /usr/lib/libjpeg.so.62...Missing separate debuginfo for /usr/lib/libjpeg.so.62
Try: yum --disablerepo='' --enablerepo='-debug*' install /usr/lib/debug/.build-id/05/6b2c6a8cb0b42dda3d57a1b5d3670ab99c83bd.debug
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /usr/lib64/libcurl.so.4...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libcurl.so.4
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
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/libxml2.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libxml2.so.2
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/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/libicui18n.so.42...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libicui18n.so.42
Reading symbols from /usr/lib64/libicuuc.so.42...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libicuuc.so.42
Reading symbols from /usr/lib64/libicudata.so.42...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libicudata.so.42
Reading symbols from /usr/lib64/libicuio.so.42...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libicuio.so.42
Reading symbols from /usr/lib64/libxslt.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libxslt.so.1
Reading symbols from /usr/local/lib/libiconv.so.2...done.
Loaded symbols for /usr/local/lib/libiconv.so.2
Reading symbols from /lib64/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgcc_s.so.1
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 /usr/lib64/libfreebl3.so...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libfreebl3.so
Reading symbols from /lib64/libgcrypt.so.11...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgcrypt.so.11
Reading symbols from /lib64/libgpg-error.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib64/libgpg-error.so.0
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/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 /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/libk5crypto.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib64/libk5crypto.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 /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/libssh2.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib64/libssh2.so.1
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/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/no-debug-non-zts-20151012/redis.so...done.
Loaded symbols for /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so
Reading symbols from /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/swoole.so...done.
Loaded symbols for /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/swoole.so
Core was generated by `main_work '.
Program terminated with signal 11, Segmentation fault.
#0 0x000000000082e59b in zval_delref_p (zval_ptr=0x7f54a107fb40) at /home/lnmp1.3/src/php-7.0.7/Zend/zend_types.h:827
827 return --GC_REFCOUNT(Z_COUNTED_P(pz));
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.166.el6_7.7.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64 libcurl-7.19.7-52.el6.x86_64 libgcc-4.4.7-17.el6.x86_64 libgcrypt-1.4.5-11.el6_4.x86_64 libgpg-error-1.7-4.el6.x86_64 libicu-4.2.1-14.el6.x86_64 libidn-1.18-2.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libssh2-1.4.2-1.el6.x86_64 libstdc++-4.4.7-17.el6.x86_64 libxml2-2.7.6-21.el6_8.1.x86_64 libxslt-1.1.26-2.el6_3.1.x86_64 nspr-4.10.6-1.el6_5.x86_64 nss-3.16.1-4.el6_5.x86_64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64 nss-util-3.16.1-1.el6_5.x86_64 openldap-2.4.23-34.el6_5.1.x86_64 openssl-1.0.1e-48.el6_8.1.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb)

image
image
两图中省略了一些Loaded

image

@taozhipeng1990
Copy link
Author

最主要是的 这服务跑了1个多月都没有问题,就今年1月份开始出问题。
重启服务,重启服务器都试过了。

@matyhtf
Copy link
Member

matyhtf commented Jan 16, 2017

PHP代码中是否对$request, $response 对象使用了 引用操作, 如 App::$request = & $request; 类似代码

@taozhipeng1990
Copy link
Author

没有用引用

@taozhipeng1990
Copy link
Author

不过在代码中确实有不合理的地方吧。
因为数据源是从网站后台过来。
所以我发给swoole_wbsocket 是用http协议发的。(swoole_websocket我重写了握手[加了自己token验证方法])
最近在新版已经换成tcp发送了。 新版正在测试中....

想不通的是 如果是因为用http发消息给swoole然后swoole推送消息这一流程有问题的话。那早就应该出现问题了。

@taozhipeng1990
Copy link
Author

而且,这个问题也不是每时每刻发生的。
image
image
网站推送数据基本每几分钟都有

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants