web-dev-qa-db-ja.com

(通知)子pid XXXX終了信号のセグメンテーションエラー(11)、/ etc / Apache2のコアダンプの可能性

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

いくつかの背景。

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

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

手伝ってください。よろしくお願いします!

11
Jason

この問題が発生し、Apache設定でLogLevel warnLogLevel debugに変更しました。再起動時に、mod_deflateの直後にsegfaultingしているように見えました。

Debian/ubuntuでmod_deflateをオフにするのはSudo a2dismod deflateだけです。

6
Bruce Aldridge

私はこれを間接的に解決しました。 NginxをApacheの前に置くと、セグメンテーションエラーがなくなりました。 Apacheの前にNginxを置くことは、私の意見ではより良いセットアップです。 Varnish Cacheも問題を解決した可能性があります。

3
Jason

これを突き止めようと丸一日試しても、解決策はありませんでした。しかし、結局、Apacheをデバッグレベルのロギングに切り替え、JetpackのPhoton画像から画像を書き換えようとしているGoogleのmod_pagespeedに関する何百もの通知/警告にすぐに気付きました。

単純なa2dismod pagespeedを実行し、セグメンテーションエラーは発生しなくなりました。

私のサイトはmod pagespeedをオフにした方が実際には速く動いていることにも気づきました。

セグメンテーション違反を引き起こすpagespeedに関するかなりの数のバグレポートがあるようです。

Mod_pagespeedだけなのか、mod_pagespeed、wordpressとphp ...の組み合わせなのか、どちらなのかはわかりませんが、問題が解決しました。

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

1
MitchellK

システムをubuntu 14.04から18.04にアップグレードしようとしましたが、この問題が発生したため、16.04にダウングレードして解決しました。

phpも7.0にアップグレードします

0
Elia Weiss

この問題は、Apacheモジュールが原因で発生することがよくあります。ご覧のとおり、他の回答はモジュールまたは別のものです。一般的な答えは最後に有効にしたモジュールを無効にしてみてくださいです。

私の場合、問題の原因となっているモジュールは、Ubuntu 18.04のphp7.3です。 PHP 7.2は機能しますが、PHP 7.3は機能しません。

0
AnthonyB

私の場合、iOS/MacOS Safariからサイトにアクセスするたびにエラーが表示されました。これらのデバイスの1つからの最初のアクセス後、Apacheは、次の再起動まで、任意のデバイスからの要求に対するセグメンテーションエラーでクラックし続けました。

この問題は、Googleのmod_spdyモジュールを無効にすると解消されました。

0
dhh

Centos 6のVarnish> Apache> PHP-FPMでも同じ問題が発生していました。

ApacheでKeepAliveを無効にすることで解決しました。

0
user2047710

設定してみてください

_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;

0
Markus Studer