2012-03-18 68 views
0

我不断收到在Ubuntu这个日志条目10.04:Apache2的赛格故障:不能找到造成

# vim /var/log/apache2/error.log 

[Sun Mar 18 08:58:01 2012] [notice] child pid 4300 exit signal Segmentation fault (11) 
[Sun Mar 18 08:58:02 2012] [notice] child pid 4302 exit signal Segmentation fault (11) 
[Sun Mar 18 08:58:03 2012] [notice] child pid 4303 exit signal Segmentation fault (11) 
[Sun Mar 18 08:58:03 2012] [notice] child pid 4304 exit signal Segmentation fault (11) 
[Sun Mar 18 08:58:04 2012] [notice] child pid 4305 exit signal Segmentation fault (11) 
[Sun Mar 18 08:58:04 2012] [notice] child pid 4306 exit signal Segmentation fault (11) 
[Sun Mar 18 08:58:04 2012] [notice] child pid 4307 exit signal Segmentation fault (11) 
[Sun Mar 18 08:58:04 2012] [notice] child pid 4308 exit signal Segmentation fault (11) 

我添加到核心转储我的httpd.conf:

CoreDumpDirectory /tmp/apache2-gdb-dump 

创建,搭配chmod 777和chown www-data:www-data tmp/apache2-dgb-dump,set

# ulimit -c unlimited 

并重新启动apache。创建 信息转储和我试图分析它,但它并没有告诉我什么...:

# gdb /etc/init.d/apache2 core 
GNU gdb (GDB) 7.1-ubuntu 
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-linux-gnu". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>... 
"/etc/init.d/apache2": not in executable format: File format not recognized 
[New Thread 7968] 
Core was generated by `/usr/sbin/apache2 -k start'. 
Program terminated with signal 11, Segmentation fault. 
#0 0x00007f78121f36ad in ??() 
(gdb) where 
#0 0x00007f78121f36ad in ??() 
#1 0x00007f7800000002 in ??() 
#2 0x00007f78044af088 in ??() 
#3 0x00007f7815e86080 in ??() 
#4 0x00007f7816e5b5e8 in ??() 
#5 0x00007f7816ed2a10 in ??() 
#6 0x00007f7815e86080 in ??() 
#7 0x00007f7815e86080 in ??() 
#8 0x00007f78129058c0 in ??() 
#9 0x00007f7816ed2a10 in ??() 
#10 0x00007f781223614c in ??() 
#11 0x00007f7815e86080 in ??() 
#12 0x00007f7812235ee0 in ??() 
#13 0x0000000000000006 in ??() 
#14 0x00007f7816a251d0 in ??() 
#15 0x00007f7816d38a40 in ??() 
#16 0x01007fff69cdd3c0 in ??() 
#17 0x00007fff69cdd3c0 in ??() 
#18 0x00007f78129058c0 in ??() 
#19 0x00007fff69cdd3c0 in ??() 
#20 0x0000000000000001 in ??() 
#21 0x0000000000000000 in ??() 

我能做些什么,找出问题是什么?

+0

您必须创建apache的调试版本,或者如果您已使用数据包安装apache,请安装发行版的apache-debug软件包。编辑:我刚刚读过你使用的Ubuntu。我认为这个包的名字是'apache2-dbg'。 – vstm 2012-03-18 09:40:15

回答

2

您以错误的方式调用gdb。根据gdb输出,核心转储由/usr/sbin/apache2生成。你应该像这样运行gdb:gdb /usr/sbin/apache2 core/etc/init.d/apache2很可能是一些调用/usr/sbin/apache2的脚本。请参阅gdb输出:

"/etc/init.d/apache2": not in executable format: File format not recognized 
[New Thread 7968] 
Core was generated by `/usr/sbin/apache2 -k start'. 
Program terminated with signal 11, Segmentation fault.