FreeBSDのportsでphp5のextensionをたくさん入れるとcoreを吐いたり

このブログの題名にもしている

exited on signal 11 (core dumped)

です。

順を追って説明すると、FreeBSD 7x の ports で (先週までは 6x も)
apache-1.3.41, phpphp5-5.2.6_2, mysql5.0.67 をインストールするときにportsを使うと
apache が 立ち上がらず syslog に exited on signal 11 (core dumped) を出力するとかいう現象が起こって
ほとほと困り果ててしまいました。
厳密に言うと、php5-extension をたくさん入れたときだけです。(余計にたちが悪い)
そして、/httpd.core が吐き出されたりします。
(php5-extension を入れないと、平気だったりします)

とりあえず、gdb というコマンドを使えば
httpd.core の中身がわかるというのですが、

# gdb /usr/local/sbin/httpd /httpd.core
(gdb) bt

しても、何も表示されません。

gcc に -g オプションを付けるのが必要ということで

# cd /usr/ports/www/apache13
# vi Makeconfig
CFLAGS+=-g

します。

そして、インストールしなおして

# gdb /usr/local/sbin/httpd /httpd.core
(gdb) bt
#0 0x29187bd0 in ?? ()
#1 0x281bc39e in _pthread_main_np () from /lib/libc.so.7
#2 0x28195f8c in puts () from /lib/libc.so.7
#3 0x281966f7 in gethostbyname () from /lib/libc.so.7
#4 0x08067fb2 in ap_get_local_host (a=0x2820400c) at util.c:2134
#5 0x0806713c in ap_fini_vhost_config (p=0x2820400c, main_s=0x28204034) at http_vhost.c:506
#6 0x08054cfb in ap_read_config (p=0x2820400c, ptemp=0x2823700c, confname=0x807db40 "etc/apache/httpd.conf") at http_config.c:1586
#7 0x0805d843 in standalone_main (argc=Variable "argc" is not available.
) at http_main.c:5393
#8 0x0805f252 in main (argc=16, argv=0x2979a35c) at http_main.c:5773

と、こんなカンジでいろいろ表示されます。

ここで、友人に読み方を聞いたのですが
gethostbyname() でダメくさいということでした。


とりあえず、解決方法だけを書きます。
httpd.conf に、ServerNameをきちんと書く、それだけです。
推測ですが、Apache単体だと起動できていて、php5(extensionなし) だと起動できているので
extension のどれかが、ホスト名を見るときに 名前を引くんじゃなくて httpd.conf の ServerName を参照している・・・と思ってます。


あと、extension.ini などについていろいろありますが、後日に書きます。