2012-03-18 23 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.