[PHP-users 3633] Re: Segmentation fault

Tsukasa Koizumi php-users@php.gr.jp
Sat, 17 Nov 2001 03:58:19 +0900


小泉です。

At 01:18 01/11/17, you wrote:
>また、意図してかどうかは分かりませんが、
>トラブル対策を問われてるにしては
>マシンがどのような構成なのか、
>OSが何なのか、OSのバージョンが何なのか、
>Apache使われてるならそのバージョンとか、
>極めて基本的な情報が欠如してるのですが
>トラブルの切り分けを行った上でPHPのバグに原因が
>帰着したのでしたら参考になりますので
>その過程も示してくれませんか?

失礼しました。過去ログを見て、FAQに近い質問と思いまして、あえて詳し
い背景は省きました。


>In message "[PHP-users 3629] Segmentation fault",Tsukasa Koizumi wrote...
>
>>同じサーバに2つのバーチャルドメインがあり、両方で基本的には同じで若干異
>>なるPHP+PostgreSQLのECシステムを稼働しています。
>
>PostgreSQLを二重にインストールしてるのは考えられますが
>PHPも二重にインストールしてるんでしょうか?

異なるのはPHPのスクリプトです。
語弊がある書き方でしたが、稼働しているApache、PHP、PostgreSQLはひと
つずつです。


>その若干の差が利いてるなら、どう違うのか示さないと
>ご本人以外誰も判断できないと思うのですが?

これも失礼しました。
おそらく、スクリプトの違いは無関係かと思いますが、一応示しますと、次の
ような部分です。

問題のないスクリプト:
$pg_track = pg_exec( $pg_conn, "SELECT * FROM usertrack WHERE value = '${$cookie}';" )

Segmentation faultが起こるスクリプト:
$pg_track = pg_exec( $pg_conn, "SELECT oid, * FROM usertrack WHERE value = '${$cookie}';" )

このような箇所が複数あります。
ほかの違いは、データベースのカラム名やその並びが違う程度です。

大きな違いは、スクリプトではなく、データベースに入っているデータの
量です。問題のない方は(実稼働前なので)10レコード弱しか入っていま
せんが、Segmentation faultが起きる方は、常時約3000レコードが入って
います。

まったく同じ環境の別のテスト用サーバでは、問題は全く発生していませ
ん。このテスト用サーバのデータも少量であることから、レコード数量の
多さがSegmentation faultの引き金になっていると考えています。

試しに、問題の起きているサーバのデータをテストサーバに入れてみたと
ころ、確率はずっと低いですが現象が再現されました。


なお、Segmentation faultが起こっても、PHP、PostgreSQLの処理は正常に
行なわれています。プロセスが落ちるのは処理終了後のようです。

また、Segmentation fault発生後はしばしばHTTP_REFERERが空になります。

ただし、いずれも必ず発生するわけではありません。Segmentation fault
は5割程度、HTTP_REFERERの空化は1〜2割程度の確率です。

というわけで、やはりPHPのバグではないかと考えています。


>どの過去メールか分からないと何も判断できません。

参考にしたのは、

http://ns1.php.gr.jp/search.html
http://ns1.php.gr.jp/cgi-bin/namazu.cgi

上記両ページで、「Segmentation fault」で検索してヒットした全てのペー
ジです。

たとえば、#2240には、

>4.0.5 -> 4.0.7RC にアップグレードしたところ、Segmentation
>fault 問題は無くなりました。また、それ以外にも php が突然
>error_log にも何も出力しないで停止してしまうような障害も無
>くなりました。

とあります。

私も4.0.7RCの入手を試みましたが、併記されていたURLにはすでに4.0.7RC
はありませんでした。代わりに4.1.0RC2がありましたが、#3118に

> PHP4.0.xのモジュールはPHP 4.1.0では、そのままでは使えません。

とありましたので、4.1.0は試していません。

----------------------------------------------------------------------
小泉 司@コイズコム デジタルワークス(東京都文京区)
Desk - mailto:tsukasa@koiz.com / Mobile - mailto:pigtail@pdx.ne.jp
----------------------------------------------------------------------