[Momonga-devel.ja:02160] mod_php+ruby+ssl の不具合, was Re: php-4.3.1-5m に不具合 ?
- From: zunda <zunda616e@xxxxxxxxxxx>
- Date: Tue, 14 Oct 2003 02:32:10 +0900 (JST)
zundaです
httpdでphp.conf、ssl.conf、ruby.confが揃っているとCPU使用率が100%に
なる件です。根本的には解決していませんが、当方手づまりのため進捗状況と
根本的ではない解決方法だけ報告しておきます。
以前のメールのあと、httpdに-Xオプションを付けてforkしないように
/usr/sbin/httpd -X
と起動すると、SIGSEGVをもらっていることがわかりました。gdbでは、
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 5206)]
0x4010681f in d2i_DSA_PUBKEY () from /usr/lib/libcrypto.so.0.9.7
(gdb) bt
#0 0x4010681f in d2i_DSA_PUBKEY () from /usr/lib/libcrypto.so.0.9.7
#1 0x40013f68 in ?? ()
#2 0x27bc8d00 in ?? ()
Cannot access memory at address 0x768df8eb
という風にopenssl関連のライブラリの読み込み時にエラーが出ていることが
わかりました。なぜこの場所でSIGSEGVをもらうのか…nmするだけではわかり
ませんでした。教えて、偉い人!
一方、httpd -Xをstraceすると、httpdはruby.conf、php.conf、ssl.confの順に
読んでそれぞれのモジュールを読み込んでいることがわかります。アルファベット
順に読んでいるようなので、mv ssl.conf 00ssl.confすると、無事、httpdが起動
しました。そういうわけで、凡人にもできるエラーの安易な解決方法は、ssl.confを
リネームして、php.confやruby.confよりも前に読まれるようにする、ということに
なるのでしょうか?今週中に反対が無ければ、ssl.confが00ssl.confになるように
mod_sslパッケージを変更しようかと思います。ご意見をお願いします。
--- zunda <zunda616e@xxxxxxxxxxx> からのメッセージ:
> zundaです
>
> mod_phpの件、追加の報告です。
>
> > # conf.dでモジュールをロードするとモジュールのロード順
> > # を制御しずらいのですが、モジュールのロード順が原因の
> > # ような気がしてきました。
>
> なるほど。というわけで、/etc/httpd/conf.d/から1つずつファイルを消去して
> みたところ、 php.conf、ssl.conf、ruby.confが揃っている場合に、CPU使用率
> が100%になることがわかりました。このうちどれか1つが無ければ、httpdは正
> 常に起動します。
>
> この現象は、httpd、php、ruby、mod_rubyをリビルドしても解消しませんでした。
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/