记一次PHP7+opcache+zmq出现SIGSEGV 问题的查找(一次不成功的bug查找)
Title: 记一次PHP7+opcache+zmq出现SEGSEGV问题的查找(一次不成功的bug查找)
bug来历自述:
线上代码PHP环境是5.2,为了提升性能(逼格),于是升级为PHP7并使用docker部署,为了方便起见使用yum安装(懒惰),代码经测试后准备部署上线,这个时候问题来了。
在配置FPM后压测,发现当FPM子进程重启时,总会有502错误(fpm日志)。
ba la ba la开始找问题:
1、首先确认是不是FPM的配置问题,找了一圈,没有发现问题
2、从PHP7本身开始,想着PHP7我们都使用了什么新东东,很明显opcache就被这么抓到了。
在配置里面关闭opcache,测试没有再出现502,说明opcache有问题
那到底opcache有问题吗?是不是自己的代码里面有问题呢?
于是乎,开始opcache,只简单的打印一些东东
噢、噢、噢、噢.....
竟然没有发现502了,好吧看来代码里面还是有别的问题
就这么又看到了ZMQ,最终发现当opcahce+ZMQ时会有502...................................
最终懒人的解决方案:
1、继续使用opcache
2、将使用到zmq扩展的文件加入opcache的黑名单里
记一次PHP7+opcache+zmq出现SIGSEGV 问题的查找(一次不成功的bug查找)的更多相关文章
- 记一次bug查找经历
系统采用cell插件显示汇总数据,然后发现个公司数据显示不出来,接到这个任务开始查找bug. 通过需求了解并不知道其他公司什么情况,因为就这个公司有了反馈: 本来以为很容易找到点的,毕竟数据显示不出来 ...
- PHP7 学习笔记(七)如何使用zephir编译一个扩展记录
一.zephir 编译遇到的错误 安装 git clone https://github.com/phalcon/zephir $ cd zephir $ ./install-json $ ./ins ...
- PHP7 学习笔记(一)Ubuntu 16.04 编译安装Nginx-1.10.3、 PHP7.0.9、Redis3.0 扩展、Phalcon3.1 扩展、Swoole1.9.8 扩展、ssh2扩展(全程编译安装)
==================== PHP 7.0 编译安装================== wget http://cn2.php.net/get/php-7.0.9.tar.bz2/fr ...
- ubuntu 安装 php7.2
sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository p ...
- PHP7有没有你们说的那么牛逼
男人不能快,但程序一定要快.PHP7到底快不快,我们拭目以待. PHP7来一发 PHP7正式发布到现在已经一年半了,刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在PHP7上速度效率提高了几倍, ...
- ubuntu14.04 安装apache+php7.2*
1.安装apache2 sudo apt-get update sudo apt-get install apache2 这时http://你机器的ip,就可以访问了 2.安装php7.0+及一些必要 ...
- [转贴] VIM 常用快捷键 --一直记不住
vim 常用快捷键 原帖地址: https://www.cnblogs.com/tianyajuanke/archive/2012/04/25/2470002.html 1.vim ~/.vimrc ...
- Centos7 下安装Apache2 + MySQL + PHP7
Apache 1.安装Apache yum install httpd 2.设置服务器开机自动启动Apache systemctl enable httpd.service 若要验证是否自动启动可在重 ...
- ORA-07445: exception encountered: core dump [opiaba()+639] [SIGSEGV] [ADDR:0x0] [PC:0x1858C3F] [SI_KERNEL(general_protection)] []
开发反馈应用无法连接数据库,发现数据库实例崩溃,且数据库为11.2.0.4 单实例. 数据库告警日志发现,数据库崩溃之前出现ORA- ORA-: exception encountered: core ...
随机推荐
- jQuery on 绑定的事件触发多次
jquery用on绑定事件,在代码执行过程中,可能会遇到多次执行的情况. 解决方案是在on的事件前面加上一个off,再on. $('#btnBind').off('click').on('click' ...
- 通过java反射,封装bean
上周有一个封装javabean的流程,成员变量有好多,一路写if(!=null){setXXX} 真的好麻烦,有时候一不小心还会漏掉,很是麻烦,就想到用反射的方法自动进行拼装bean. bean pa ...
- HTTP 2.0的那些事
转自:http://www.admin10000.com/document/9310.html 在我们所处的互联网世界中,HTTP协议算得上是使用最广泛的网络协议.最近http2.0的诞生使得它再次互 ...
- DEM数据如何生成高程点
这次给大家介绍一个arcgis里的实用功能:通过地形数据提取高程点. 首先做好准备工作: 1.地形数据下载获取 2.软件准备 locaspace viewer:http://rj.baidu.com/ ...
- fcitx jdk maven profile配置
#小企鹅输入法配置 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx&quo ...
- Socket为什么要翻译成套接字
作者:陈振玥链接:https://www.zhihu.com/question/21383903/answer/64103663来源:知乎著作权归作者所有,转载请联系作者获得授权. 作为一条刻(wu) ...
- 带名称空间的xml数据查询
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="MapSource 6.5" versio ...
- Spring里PropertyPlaceholderConfigurer类的使用
1. PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostProcessor接口的一个实现.PropertyPlaceho ...
- ViewPager如下效果你研究过吗?
1:ViewPager实现欢迎页面动画效果 ViewPager实现欢迎页面动画滑动切换view效果,页面切换添加优美的动画, //主要代码实现 public void animateSecondScr ...
- 如何在EF CodeFirst中使用唯一约束(Unique)
一直用EF Fluent Api 做MapConfiguration 所以遇到了唯一约束这个瓶颈 使用唯一约束的两种方式: 方式1 自定义唯一约束 [AttributeUsage(AttributeT ...