环境:CentOS 6.5 64bit

httpd版本:2.2.15

PHP版本:5.3.3

在搭建stalker server后,用机顶盒访问stalker server,request 某一个URL失败。

nginx反向代理,错误log如下:

[plain]  view plain  copy
  1. [nginx 1.12.2 error log]
  2. 2018/01/30 15:20:23 [error] 5753#0: *456 upstream prematurely closed connection while reading response header from upstream, client: 10.209.177.39, server: localhost, request: "GET /stalker_portal/server/load.php?type=stb&action=get_profile&stb_type=MAG250&sn=0000000000000&ver=ImageDescription%3A%200.2.16-250%3B%20ImageDate%3A%2018%20Mar%202013%2019%3A56%3A53%20GMT%2B0200%3B%20PORTAL%20version%3A%204.9.9%3B%20API%20Version%3A%20JS%20API%20version%3A%20328%3B%20STB%20API%20version%3A%20134%3B%20Player%20Engine%20version%3A%200x566¬_valid_token=1&auth_second_step=0&hd=1&num_banks=1&image_version=216&hw_version=1.7-BD-00 HTTP/1.1", upstream: "http://127.0.0.1:88/stalker_portal/server/load.php?type=stb&action=get_profile&stb_type=MAG250&sn=0000000000000&ver=ImageDescription%3A%200.2.16-250%3B%20ImageDate%3A%2018%20Mar%202013%2019%3A56%3A53%20GMT%2B0200%3B%20PORTAL%20version%3A%204.9.9%3B%20API%20Version%3A%20JS%20API%20version%3A%20328%3B%20STB%20API%20version%3A%20134%3B%20Player%20Engine%20version%3A%200x566¬_valid_token=1&auth_second_step=0&hd=1&num_banks=1&image_version=216&hw_version=1.7-BD-00", host: "10.209.177.82"

一开始网上搜索错误"upstream prematurely closed connection while reading response header from upstream"的解决方案,基本上都是说明nginx和Apache配置中,关于KeepAlive或者Timeout设定有误,或者是说nginx接收到HTTP/1.1请求转发给Apache变更为HTTP/1.0,等等导致的错误,这些double check后,还是有此问题。于是就想着看看Apache这边有没有错误log,结果一查,Apache这边还真有个错误。

Apache错误log如下:

[plain]  view plain  copy
  1. [Apache(httpd 2.2.15) error log]
  2. [Tue Jan 30 15:20:24 2018] [notice] child pid 13990 exit signal Segmentation fault (11)

从上述两个错误log综合分析,问题应该是Apache错误log导致。

于是网上搜索错误log "[notice] child pid 13990 exit signalSegmentation fault (11)" ,没有找到适合我的解法。

看到如下文章介绍通过GDB调试问题点。

http://blog.csdn.net/greatchina01/article/details/12832717

http://blog.csdn.net/greatchina01/article/details/11613305

具体GDB debug流程如下:

[plain]  view plain  copy
  1. [root@localhost ~]# service httpd stop
  2. Stopping httpd:                                            [  OK  ]
[plain]  view plain  copy
  1. [root@localhost ~]# gdb httpd
  2. GNU gdb (GDB) Red Hat Enterprise Linux (7.2-92.el6)
  3. Copyright (C) 2010 Free Software Foundation, Inc.
  4. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
  5. This is free software: you are free to change and redistribute it.
  6. There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
  7. and "show warranty" for details.
  8. This GDB was configured as "x86_64-redhat-linux-gnu".
  9. For bug reporting instructions, please see:
  10. <http://www.gnu.org/software/gdb/bugs/>...
  11. Reading symbols from /usr/sbin/httpd...(no debugging symbols found)...done.
  12. Missing separate debuginfos, use: debuginfo-install httpd-2.2.15-60.el6.centos.6.x86_64
  13. (gdb) run -X
  14. Starting program: /usr/sbin/httpd -X
  15. [Thread debugging using libthread_db enabled]
  16. Detaching after fork from child process 6564.

此时,这里向服务器发一个连接请求。

[plain]  view plain  copy
  1. Program received signal SIGSEGV, Segmentation fault.
  2. 0x00007fffe34f9911 in GeoIP_id_by_name_gl () from /usr/lib64/libGeoIP.so.1

从上述信息可以看到程序被中断在库函数 GeoIP_id_by_name_gl()中

使用gdb backtrace命令可以查看当前函数栈的所有信息。

[plain]  view plain  copy
  1. (gdb) backtrace

[notice] child pid 13990 exit signalSegmentation fault (11) 解决办法相关推荐

  1. error: unable to execute command: Segmentation fault: 11 解决办法

    这个错误很久以前碰到过.今天又碰到发现忘记解决办法了.查了查.还是在博客里记录一下.免得又忘了.毕竟年纪大了 造成这个问题的原因有很多.解决途径也有好几个.不清楚问题的话.挨个试一下吧 1.直接 En ...

  2. child pid xxx exit signal Segmentation fault (11)

    下午检查apahe的error_log的时候发现大量: [Tue Jul 29 14:35:39 2014] [notice] child pid 22397 exit signal Segmenta ...

  3. MySQL server PID file could not be found! 解决办法 (李作强)

    MySQL server PID file could not be found! 解决办法 1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限 解决方法 :给 ...

  4. php:Notice: Use of undefined constant id - assumed 'xxxx' 解决办法

    Notice: Use of undefined constant id - assumed 'xxxx' 解决办法 比如:Notice: Use of undefined constant id - ...

  5. git commit 出现异常git did not exit cleanly (exit code 128)的解决办法

    点击commit 后提示异常原因为"....file index.lock already exist......git did not exit cleanly (exit code 12 ...

  6. [error] id returned 1 exit status原因及解决办法

    1.  上次编译运行的shell没有关闭(小黑窗) 2.函数定义在了main()函数里面 例: int main() {...void Function_1(int a,char b,char c){ ...

  7. tp5项目出现Notice: Use of undefined constant id - assumed 'xxxx' 解决办法

    otice: Use of undefined constant id - assumed 'xxxx' 解决办法 比如:Notice: Use of undefined constant id - ...

  8. mysql got signal 11_求助 mysqld got signal 11 解决办法

    今天下午 mysql服务 非正常关闭,错误日志如下: 不知道,那位大侠有遇到,我在网上查看了一下,有人重装mysql 貌似解决了这个问题,请高手指点啊. 080325 15:46:14 [ERROR] ...

  9. Git 在推送(Push)信息的时候提示git did not exit cleanly (exit code 1)的解决办法

    原因是因为创建用来登陆ssh的用户git,没有修改版本库的权限.即给gitosis-admin.git文件夹,加上git用户的修改权限即可.("chown -R git *")

最新文章

  1. .NET仓储模式高级用例
  2. Html5 填表 表单(二) input type 各种输入, 各种用户选择,上传等等泛输入用户交互
  3. Unity3D 5.x 简单实例 - 发射炮弹
  4. Vim编辑器显示行号且定义tab键为4个空格
  5. Django——日志
  6. char 类型的取值范围
  7. 服务器安装找不到RAID卡驱动,DELL R430安装WINDOWS 2008 R2 RAID卡无驱动之无法识别sas硬盘的解决方法...
  8. ffmpeg 命令行多视频轨/音频轨合并,播放
  9. 网络工程师考试经验总结
  10. 招商银行笔试题之解码方法
  11. aptana php插件使用教程,用Aptana Studio 1.5开发PHP,很强的PHP IDE,Aptana PHP,简介,安装教程...
  12. 19964 [HAOI2006]聪明的猴子
  13. Jenkins企业应用
  14. 微信小程序反编译获取源码
  15. 手机上传日志文件给服务器,手机内容远程上传到服务器
  16. WIFI驱动配置实战(Linux驱动开发篇)
  17. 【计算机网络】已知若干个网络,如何计算汇聚成超网后的地址?
  18. 申宝股票-A股长期向好趋势未
  19. CSS文本自动换行实现
  20. 基于角膜反射的学习心得

热门文章

  1. 计算机数字音乐逆战,采样、量子与音乐 -- 一滴泪的时间/赵紫骅
  2. DynamicDet
  3. 谷歌再失华裔高管,AI 中国中心总裁李佳离职;树莓派新品发布
  4. e-企业管理解决方案-人事管理系统
  5. Glide的源码解析(一)(附方法调用图)
  6. 好用的Linux Tools——tldr and tmux
  7. EXCEL 行、列限制数
  8. 数字化工厂使用案例,为企业数字化赋能
  9. 微软MVP Round Table
  10. Why is 0 -0x80000000?