操作
Bug(バグ) #815
未完了Apacheの子プロセスが異常終了する
開始日:
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
根本的にはコードの問題ですので、上記の方法で見た目上何とかなるものの、コードの修正は必要であると認識しています。
Rimpei Ogawa さんが14年以上前に更新
- 優先度 を Urgent(急いで) から Normal(通常) に変更
- 3.6 で発生するか を Yes から No に変更
操作