プロジェクト

全般

プロフィール

Bug(バグ) #815

未完了

Apacheの子プロセスが異常終了する

匿名ユーザー さんがほぼ15年前に追加. ほぼ5年前に更新.

ステータス:
New(新規)
優先度:
Normal(通常)
担当者:
-
対象バージョン:
開始日:
2010-03-07
期日:
進捗率:

0%

予定工数:
3.6 で発生するか:
No
3.8 で発生するか:
Unknown (未調査)

説明

●環境
  • OS : RHEL 5.4
  • M/W
  • * Apache : 2.2.3
  • * OpenPNE : 3.4.1.0

●現象
ログイン後、しばらくすると日記やアルバムなど、トップページ以外の全てのページが真っ白になり、表示されなくなります。
(Apacheを再起動後、数分は問題なく表示されることもある)
Apacheのerror_logに以下の内容が大量に出ており、Apacheの子プロセスが異常終了していることがわかります。

[notice] child pid {process_id} exit signal Segmentation fault (11)

※ 恐らく、セッション周りのコードにおいて、バッファオーバーフローを起こしていると推測されます。

OpenPNE3.2.0 -> 3.4.1へのバージョンアップ後に当現象が見られるようになりました。

匿名ユーザー さんがほぼ15年前に更新

何度かアクセスした後にtopコマンドでメモリの使用状況を使用順に並べてみました。

2984 apache    17   0  412m  67m  31m S  0.0  6.8   0:04.15 httpd
2983 apache 16 0 411m 64m 28m S 0.0 6.5 0:09.10 httpd
2988 apache 19 0 411m 63m 27m S 0.0 6.4 0:09.49 httpd
2979 root 18 0 320m 10m 6008 S 0.0 1.1 0:00.09 httpd
3095 apache 18 0 320m 5908 688 S 0.0 0.6 0:00.00 httpd
3100 apache 18 0 320m 5904 684 S 0.0 0.6 0:00.00 httpd
3105 apache 19 0 320m 5904 684 S 0.0 0.6 0:00.00 httpd

※ Apacheの子プロセスの数を制限することで、当面、多少は回避することができるようです。

httpd.conf
> MinSpareServers 5
> MaxSpareServers 20
を、以下のように変更したところ、現象が起こる割合がかなり減りました。
> MinSpareServers 1
> MaxSpareServers 1

根本的にはコードの問題ですので、上記の方法で見た目上何とかなるものの、コードの修正は必要であると認識しています。

Kousuke Ebihara さんが14年以上前に更新

  • 3.6 で発生するかYes にセット

Rimpei Ogawa さんが14年以上前に更新

  • 優先度Urgent(急いで) から Normal(通常) に変更
  • 3.6 で発生するかYes から No に変更

kaoru n さんがほぼ5年前に更新

  • 対象バージョンOpenPNE 3.10.x にセット

他の形式にエクスポート: Atom PDF