13

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 をインストールするとすぐに、ログイン時に次のメッセージが表示されます。

=> 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)'

いくつかの背景。

VPS から WordPress サイトを運営しています。VPS は、PERL と CURL がインストールされた Ubuntu ベースの LAMP サーバーです。キャッシュに APC を使用していますが、APC をインストールする前にセグメンテーション エラーが発生しました。最後に、Google PageSpeed Service を介してサーバーを実行するため、Apache 2.2 用の mod_remoteip mod をインストールし、X-Forwarded-For ヘッダーを配置しました。

ulimit コアは無制限です。私の phpinfo() ファイルはここにあります: http://tecne.ws/11v

手伝ってください。それは大歓迎です!

4

11 に答える 11

11

私はこの問題を抱えていて、Apacheの設定に変更LogLevel warnしました。LogLevel debug再起動すると、mod_deflate の直後に segfault が発生しているように見えました。

debian/ubuntu で mod_deflate をオフにすると、sudo a2dismod deflate

于 2013-09-25T01:23:47.860 に答える
1

Apacheを再起動したところ、問題はなくなりました

于 2020-12-08T14:27:33.070 に答える
1

これを追跡しようとして丸一日を過ごした後、解決策はありませんでした。しかし、最終的に Apache をデバッグ レベルのロギングに切り替えたところ、Google の mod_pagespeed for Apache が Jetpack の Photon イメージからイメージを書き換えようとしていることにすぐに気付きました。

簡単なa2dismod pagespeedを実行したところ、セグメンテーション違反はなくなりました。

mod pagespeedをオフにすると、サイトの実行速度が実際に速くなったことにも気づきました。

ページ速度が原因でセグメンテーション違反が発生するというバグ報告がかなりあるようです。

mod_pagespeedだけなのか、mod_pagespeed、wordpress、phpの組み合わせなのかはわかりません....しかし、オフにすると問題はなくなりました。

私は今のところそれを終えており、現在すべてをNginxに移行中です。Apache で障害を追跡するのは常に悪夢に変わりますが、Nginx を使用すると、数秒から 1 分でエラーを見つけることができます。

于 2016-07-24T15:34:52.213 に答える