特定のマシンで PHP segfaults が発生しています。他の 3 台のマシンをテストしましたが、すべて動作しているように見えますが、バグは PHP に密接に関連しているようです。ここで共有したいと思います。
私のスクリプトは(はるかに複雑ですが)このようなものです。
WP_Query->post // StdClass
// some stuff happens
// Try to access WP_Query->post here causes a segfault
get_userdate( 3 );
// WP_Query->post is now inexplicably populated with a WP_User object,
// though get_userdata does not reference it in any way
「いくつかのことが起こる」は、実際には明らかに関係のない関数呼び出しであり、このパターンに従います
function a() {
// WP_Query->post is correct
// function body
// WP_Query->post is correct
return true;
}
// WP_Query->post is correct
a();
// accessing WP_Query->post causes a segfault
「gc_disable()」を呼び出してみましたが、何も修正されませんでしたが、ガベージコレクションがオブジェクトのメモリを何らかの形で削除しているようです。
PHP バージョン: Suhosin-Patch を適用した PHP 5.3.6-13ubuntu3.9 (cli) (ビルド: 2012 年 9 月 12 日 19:00:27) FPM: PHP 5.3.6-13ubuntu3.9 (fpm-fcgi) (ビルド: 9 月 12 日) 2012 19:04:27)
PHP拡張機能(memcached、apc)を無効にしようとしましたが、役に立ちませんでした。
zend_std_read_property (object=0x1)
私はgdbのバックトレースを試みましたが、PHPが「デバッグ」でコンパイルされていなかったため、それ以上の情報を実際には取得できませんでしたが、エラーが発生したようです。
ここでのアドバイスは大歓迎です。これまでに約12時間、これに頭を悩ませてきました!