仲村です

On Sat, 09 Dec 2006 15:24:27 +0900,
 Jun Kojima <[EMAIL PROTECTED]> wrote:

> 70個 Include すると起こります。69個までは大丈夫でした。
> 1つの Include のファイルは 53行ぐらいですが設定を20行ぐらい
> に情報量を削ると Include の行は増やせます。
> 70個目を Include せずに直接 httpd.conf に追加しても同じ症状が
> 発生しました。

 数の問題ではなくて記述量の問題のようですね。
 数値が固定でないところから、私のでたらめな推測は外れということで。
しかし 70個ですか。私には縁がないですね(笑)

> truss -o /tmp/httpsd.truss /usr/local/apache/bin/httpsd

> chdir("/")                                       = 0 (0x0)
> fork()                                           = 4068 (0xfe4)
> exit(0x0)
> process exit, rval = 0

 あぁ、truss はやっぱり fork して終わりですね。
fork した先のプロセスが落ちて居るので、fork したプロセスを truss -p pid で、
アタッチしないと分からないですね。
man を見てみると『truss -f httpd』で fork したプロセスも追いかけられるようです。
(httpd はインストールすると strip されるので、インストールする前の
 ワークディレクトリの中の httpd を指定した方が良いかもしれません)


> 原因を調べている際に手元にある Apacheクックブックという本に
> 「mod_vhost_alias」の記載がありました。できれば避けたいのですが解決でき
> ない場合は、代替方法として真剣に取り組まなければいけないかもしれません・・

 回避方法としてはそれが簡単かと。


> make CFLAGS="-g -O0"付きで Apache をコンパイルして以下(文末)
> のように gdb コマンドを実行してみました。何か最後に出たのですが
> 自分では意味がわかりませんでした。

> ■gdbコマンドの実行結果です。
> gdb /usr/local/apache/bin/httpsd /libhttpsd.ep.core
...
> warning: core file may not match specified executable file.
 なんか、core ファイルを間違えてないですか?

> (gdb) bt
> #0  0x28f7bfa8 in ?? ()
> #1  0x282d28aa in ?? ()
 あ、わたしもやってから気づくんですが install すると strip されてしまいます。
(CFLAGS に -g を付けた意味が無くなる)
なので、 gdb <インストールする前のhttpd> <coreファイル> でないと駄目です。
実行するのはインストールしたバイナリでも構いません。
ごめんなさい。
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+
 関西沖縄の集い がじまるの会 手伝い 一人だけの勝手に神奈川支部
 仲村 武 <[EMAIL PROTECTED]>

メールによる返信