2010年4月13日

[Apache-Users 7682] Re:[質問] SIGHUP信号受信後、httpdプロセスが異常終了してしまう

** Apache ユーザーズメーリングリスト **
** 注意:このメールへの返信は Apache-Users へ行きます **

yuさん

Takeshiと申します。


>岡本さん
> SIGKILLでだめなら他にlograte、rotatelogsという代替手段を検討されてはどう
> でしょうか?

今すでにログローテでやっているのでは無いかと思います。

> > >> /bin/kill -HUP `cat /usr/local/apache2/logs/httpd.pid
2>/dev/null` 2> /dev/null || true

エラーログ内容に書いてあるとおり、何かしらの理由で、子プロセスを停止できなかった(何度かtryして)
ので、SIGKILLしました!

っていう内容だと思いますので、何かしらの理由を調査しなければいけないのですが、
昔は問題なくローテートできていたという事ですよね??
じゃ、バグって感じじゃないですよね・・。

ログローテする時間に負荷が高いとかそういった事象はありませんか?

私も昔、同エラーメッセージがerror_logに吐かれていた記憶があります。
※私の場合は、親プロセスが死んじゃうことは無かったので、そこまでクリティカルじゃ
なかったですが・・。
このとき、私の場合、負荷が高いこともあり、マシンの更改+ApacheのバージョンUPを
してしまいましたので、error_logに吐かれなくなり、そこまで調査しなかったです。

もし、Apacheを止めていい環境ならば、実際にコマンドラインで

/bin/kill -HUP `cat /usr/local/apache2/logs/httpd.pid

を打ってみてどうなるか確認してみたらいかがでしょうか?

それでもわからなければ、gdbなどを使用してapacheをデバッグしてみたら
どうでしょう??
※難しいと思いますが・・- -;

直接的な回答で無くて申し訳ないですが、失礼します。

> From: okamoto3@xxxxx
> To: apache-users@xxxxx
> Date: Tue, 13 Apr 2010 19:01:47 +0900
> Subject: [Apache-Users 7681] Re: [質問] SIGHUP信号受信後、httpdプロセスが異常終了してしまう
>
> ** Apache ユーザーズメーリングリスト **
> ** 注意:このメールへの返信は Apache-Users へ行きます **
>
> 岡本です。
> SIGTERMはプロセスが無視する可能性があります。
> 渡辺さんの環境の子プロセスの実装を調べてみるしかないと思います。
> SIGKILLでだめなら他にlograte、rotatelogsという代替手段を検討されてはどう
> でしょうか?
>
> 2010-04-13 (火) の 18:15 +0900 に Yu Watanabe さんは書きました:
> > ** Apache ユーザーズメーリングリスト **
> > ** 注意:このメールへの返信は Apache-Users へ行きます **
> >
> > TO : 岡本様
> >
> > お世話になっております。
> > 渡辺(yu)です。
> >
> > さっそくの返信ありがとうござます。
> >
> > >httpd.pidと実際のpidと違っているとか、該当子プロセスがないとかhttpdにエ
> > >ラーが発生していないのでしょうか?
> >
> > 13日と14日のエラーログを見る限り、apacheの障害に直結しそうな
> > warn及びerrorレベルのログは存在しませんでした。また、直接
> > プロセスファイルを指定しているので、異なるプロセスIDへのSIGHUP送信は
> > 無いかと考えています。
> >
> > ログを見てみると、'still did not exit,'を判断するに、apacheが子プロセスがハングして
> > しまっているように思えます。
> >
> > [ 前日のログ ]
> > [Sun Mar 14 00:00:01 2010] [notice] SIGHUP received. Attempting to restart
> > [Sun Mar 14 00:00:01 2010] [warn] PassEnv variable LD_LIBRARY_PATH was undefined
> > [Sun Mar 14 00:00:01 2010] [warn] PassEnv variable LD_LIBRARY_PATH was undefined
> > httpd: Could not reliably determine the server's fully qualified domain name, using 10.2.142.8 for ServerName
> >
> > [ エラー日のログ ]
> > [Sun Mar 14 00:00:01 2010] [notice] Digest: generating secret for digest authentication ...
> > [Sun Mar 14 00:00:01 2010] [notice] Digest: done
> > [Sun Mar 14 00:00:02 2010] [notice] Apache/2.2.9 (Unix) mod_ssl/2.2.9 OpenSSL/0.9.7m PHP/5.2.0 mod_auth_tkt/2.0.0rc2 configured -- resuming normal
> > operations
> > [Sun Mar 14 00:00:15 2010] [warn] child process 5975 still did not exit, sending a SIGTERM
> > [Sun Mar 14 00:00:17 2010] [warn] child process 5975 still did not exit, sending a SIGTERM
> > [Sun Mar 14 00:00:19 2010] [warn] child process 5975 still did not exit, sending a SIGTERM
> > [Sun Mar 14 00:00:21 2010] [error] child process 5975 still did not exit, sending a SIGKILL
> > [Sun Mar 14 00:00:22 2010] [notice] caught SIGTERM, shutting down
> > ***********手動で開始**************
> > [Sun Mar 14 02:21:37 2010] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
> > [Sun Mar 14 02:21:37 2010] [notice] Digest: generating secret for digest authentication ...
> > [Sun Mar 14 02:21:37 2010] [notice] Digest: done
> > [Sun Mar 14 02:21:38 2010] [notice] Apache/2.2.9 (Unix) mod_ssl/2.2.9 OpenSSL/0.9.7m PHP/5.2.0 mod_auth_tkt/2.0.0rc2 configured -- resuming normal
> > operations
> >
> > apacheでSIGHUP処理中に子プロセスがハングしてしまうような状況はありえますでしょうか?
> > ご返信いただけると幸いです。
> >
> > 以上です。
> >
> > Okamoto Toshiaki さんは書きました:
> > >** Apache ユーザーズメーリングリスト **
> > >** 注意:このメールへの返信は Apache-Users へ行きます **
> > >
> > >岡本です。
> > >エラーメッセージを素直に解釈すると、
> > >httpd.pidと実際のpidと違っているとか、該当子プロセスがないとかhttpdにエ
> > >ラーが発生していないのでしょうか?
> > >2010-04-13 (火) の 16:30 +0900 に Yu Watanabe さんは書きました:
> > >> ** Apache ユーザーズメーリングリスト **
> > >> ** 注意:このメールへの返信は Apache-Users へ行きます **
> > >>
> > >> TO : メーリングリストみなさま
> > >>
> > >> はじめまして、yuと申します。
> > >>
> > >> 現在、Apache2.2.9(Unix)を利用していますが、今まで
> > >> 問題無かったSIGHUP処理がとつぜん停止するといった問題が発生しました。
> > >>
> > >> OSの環境は下記の通りです。
> > >>
> > >> Red Hat Enterprise Linux(v5.1 for x86)
> > >>
> > >> [状況]
> > >> 夜中の00:00にログローテーションを行っていますが、
> > >> その際にSIGHUP信号をhttpdに投入し、ファイルの切り替えを行っています。
> > >>
> > >> /bin/kill -HUP `cat /usr/local/apache2/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
> > >>
> > >> 今まで、二年近く問題が無かったのですが、突然下記ログが出力されapacheが停止してしまいました。
> > >>
> > >> [Sun Mar 14 00:00:15 2010] [warn] child process 5975 still did not exit, sending a SIGTERM
> > >> [Sun Mar 14 00:00:17 2010] [warn] child process 5975 still did not exit, sending a SIGTERM
> > >> [Sun Mar 14 00:00:19 2010] [warn] child process 5975 still did not exit, sending a SIGTERM
> > >> [Sun Mar 14 00:00:21 2010] [error] child process 5975 still did not exit, sending a SIGKILL
> > >> [Sun Mar 14 00:00:22 2010] [notice] caught SIGTERM, shutting down
> > >>
> > >> 手動で起動して、復旧は行ったのですがいつまた落ちてしまうのか分からない状況です。
> > >>
> > >> どなたか、似たような状況に遭遇した方がいらっしゃいましたら原因と対処方法について
> > >> アドバイスをお願いいたします。
> > >>
> > >> 以上です。
> > >>
> > >> --
> > >> 入退会・変更・配送一時停止は以下へ
> > >> http://www.apache.jp/mailman/listinfo/apache-users
> > >
> > >
> > >--
> > >入退会・変更・配送一時停止は以下へ
> > > http://www.apache.jp/mailman/listinfo/apache-users
> > >
> >
> > --
> > 入退会・変更・配送一時停止は以下へ
> > http://www.apache.jp/mailman/listinfo/apache-users
>
>
> --
> 入退会・変更・配送一時停止は以下へ
> http://www.apache.jp/mailman/listinfo/apache-users

_________________________________________________________________
ご存知ですか?フィッシング詐欺やマルウェアはブラウザーで防げます。
http://go.microsoft.com/?linkid=9722595
--
入退会・変更・配送一時停止は以下へ
http://www.apache.jp/mailman/listinfo/apache-users


投稿者 xml-rpc : 2010年4月13日 22:38
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95074
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。