(通知)孩子pid XXXX退出信号分段错误(11),可能在/ etc / apache2中的coredump

我不断收到我的Apache日志中的跟随错误:

[Wed Sep 18 17:59:20 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.8 with Suhosin-Patch configured -- resuming normal operations [Wed Sep 18 18:06:30 2013] [notice] child pid 7505 exit signal Segmentation fault (11), possible coredump in /etc/apache2 [Wed Sep 18 18:06:35 2013] [notice] child pid 7497 exit signal Segmentation fault (11), possible coredump in /etc/apache2 [Wed Sep 18 18:13:53 2013] [notice] child pid 7501 exit signal Segmentation fault (11), possible coredump in /etc/apache2 [Wed Sep 18 18:13:53 2013] [notice] child pid 7506 exit signal Segmentation fault (11), possible coredump in /etc/apache2 [Wed Sep 18 18:14:14 2013] [notice] child pid 8708 exit signal Segmentation fault (11), possible coredump in /etc/apache2 

我试图通过执行以下操作来回溯:

 user:~$ sudo gdb user 8670 8571 0 18:12 pts/3 00:00:00 grep --color=auto httpd user:~$ sudo gdb (gdb) attach 8571 Attaching to process 8571 Reading symbols from /bin/bash...(no debugging symbols found)...done. Reading symbols from /lib/x86_64-linux-gnu/libtinfo.so.5...(no debugging symbols found)...done. Loaded symbols for /lib/x86_64-linux-gnu/libtinfo.so.5 Reading symbols from /lib/x86_64-linux-gnu/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/x86_64-linux-gnu/libdl.so.2 Reading symbols from /lib/x86_64-linux-gnu/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/x86_64-linux-gnu/libc.so.6 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 /lib/x86_64-linux-gnu/libnss_compat.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/x86_64-linux-gnu/libnss_compat.so.2 Reading symbols from /lib/x86_64-linux-gnu/libnsl.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/x86_64-linux-gnu/libnsl.so.1 Reading symbols from /lib/x86_64-linux-gnu/libnss_nis.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/x86_64-linux-gnu/libnss_nis.so.2 Reading symbols from /lib/x86_64-linux-gnu/libnss_files.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/x86_64-linux-gnu/libnss_files.so.2 0x00007f553000244e in waitpid () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) backtrace #0 0x00007f553000244e in waitpid () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x0000000000441419 in ?? () #2 0x000000000044255c in wait_for () #3 0x0000000000432c88 in execute_command_internal () #4 0x00000000004352fe in execute_command () #5 0x000000000041e31d in reader_loop () #6 0x000000000041ca87 in main () (gdb) backtrace full #0 0x00007f553000244e in waitpid () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #1 0x0000000000441419 in ?? () No symbol table info available. #2 0x000000000044255c in wait_for () No symbol table info available. #3 0x0000000000432c88 in execute_command_internal () No symbol table info available. #4 0x00000000004352fe in execute_command () No symbol table info available. #5 0x000000000041e31d in reader_loop () No symbol table info available. #6 0x000000000041ca87 in main () No symbol table info available.` 

我无法解决这个问题。

我也在apache上运行gdb,如下所示:

 user:~$ sudo gdb apache2 Reading symbols from /usr/sbin/apache2...(no debugging symbols found)...done. (gdb) run Starting program: /usr/sbin/apache2 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". apache2: bad user name ${APACHE_RUN_USER} [Inferior 1 (process 6925) exited with code 01] 

我不知道是否与这个问题有关,但只要我安装gdb,login时显示以下消息:

 => There were exceptions while processing one or more plugins. See /var/log/landscape/sysinfo.log for more information. 

sysinfo.log包含以下内容:

 for process_info in info.get_all_process_info(): File "/usr/lib/python2.7/dist-packages/landscape/lib/process.py", line 49, in get_all_process_info process_info = self.get_process_info(process_id) File "/usr/lib/python2.7/dist-packages/landscape/lib/process.py", line 85, in get_process_info process_info["state"] = STATES[state] KeyError: 't (tracing stop)' 2013-09-18 18:43:35,633 ERROR Processes plugin raised an exception. Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/landscape/sysinfo/sysinfo.py", line 99, in run result = plugin.run() File "/usr/lib/python2.7/dist-packages/landscape/sysinfo/processes.py", line 18, in run for process_info in info.get_all_process_info(): File "/usr/lib/python2.7/dist-packages/landscape/lib/process.py", line 49, in get_all_process_info process_info = self.get_process_info(process_id) File "/usr/lib/python2.7/dist-packages/landscape/lib/process.py", line 85, in get_process_info process_info["state"] = STATES[state] KeyError: 't (tracing stop)' 

一些背景。

我正在运行一个WordPress网站closures我的VPS。 VPS是一个基于Ubuntu的LAMP服务器,安装了PERL和CURL。 我使用APC进行caching,但在安装APC之前出现了分段错误。 最后,我通过Google PageSpeed Service运行我的服务器,所以我已经安装了Apache 2.2的mod_remoteip mod,并有一个X-Forwarded-For头文件。

ulimit核心是无限的。 我的phpinfo()文件可以在这里find: http : //tecne.ws/11v

请协助。 这将不胜感激!

我有这个问题,并改变LogLevel warn在Apache配置LogLevel debug 。 在重启时,它似乎是在mod_deflate之后进行的。

在debian / ubuntu中关闭mod_deflate应该是sudo a2dismod deflate

我间接解决了这个问题 我把Nginx放在Apache的前面,我不再有分割错误。 在我看来,让Nginx在Apache面前更好。 清漆缓存也可能解决了这个问题。

经过整整一天的追查,没有解决方案的工作。 我最终把Apache变成了调试级别的日志记录,并立即注意到Google的mod_pagespeed有数百个通知/警告,用于尝试从Jetpack的Photon图像重写图像。

我做了一个简单的a2dismod pagespeed ,没有更多的分割错误。

也注意到我的网站实际上运行速度更快,关闭了mod pagespeed。

似乎有很多关于pagespeed的错误报告导致了分段错误。

不知道它只是mod_pagespeed或mod_pagespeed,wordpress和PHP的组合….但现在关闭问题没有了。

现在我已经完成了这个工作,现在也正在把所有的东西都移到Nginx上。 在Apache上跟踪错误总是变成一场噩梦,Nginx可以在几秒到几分钟内找到错误。

尝试设置

max_input_time = -1

在你的php.ini文件中。

从php.ini …

; Maximum amount of time each script may spend parsing request data. It's a good; idea to limit this time on productions servers in order to eliminate unexpectedly ; long running scripts. ; Note: This directive is hardcoded to -1 for the CLI SAPI ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) ; http://php.net/max-input-time ; Maximum amount of time each script may spend parsing request data. It's a good; idea to limit this time on productions servers in order to eliminate unexpectedly ; long running scripts. ; Note: This directive is hardcoded to -1 for the CLI SAPI ; Default Value: -1 (Unlimited) ; Development Value: 60 (60 seconds) ; Production Value: 60 (60 seconds) ; http://php.net/max-input-time ;

我在Centos 6上遇到与Varnish> Apache> PHP-FPM相同的问题。

我通过在Apache中禁用KeepAlive来解决这个问题。