FastCGI拡張がSegmentation faultを発生させる?

ルーティングの問題は片付いたのだが、今度はエラーが発生することに気がついた。一番達の悪い不定期にエラーが発生するケースである。

まずはどんなエラーを吐いているか、ログを見て判断する。

[xx/Jan/2009:13:04:41 :: 5060] Ignoring unsupported signal USR2.
[xx/Jan/2009:13:04:41 :: 5060] starting
[xx/Jan/2009:13:04:42 :: 5060] Ignoring unsupported signal USR1.

うーん、さっぱりだ。※これでは全く解らないので、IIS-FastCGIを止めてWEBrick環境に戻して実行すると...

※これはRailsFastCGI処理クラスがサポートしていないシグナルの警告をログしているらしい

e:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_view/helpers/tag_helper.rb:107: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

ぐお、Segmentation faultが発生しているじゃないか。最悪だ。
どうも特定のURLが原因では無いようで、適当に作ったコントローラをリロードするだけで発生する。

127.0.0.1 - - [26/Jan/2009:14:16:56 東京 (標準時)] "GET /test HTTP/1.1" 304 0
- -> /test
127.0.0.1 - - [26/Jan/2009:14:16:57 東京 (標準時)] "GET /test HTTP/1.1" 304 0
- -> /test
127.0.0.1 - - [26/Jan/2009:14:16:57 東京 (標準時)] "GET /test HTTP/1.1" 304 0
- -> /test
E:/www/addressbook/app/helpers/application_helper.rb:2: [BUG] Segmentation fault
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32]


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

ありゃりゃ。これはFastCGIどころの問題では無いのかもしれない。念のため、Rubyのバージョンを1.8.6に落としてみたが、上記の単純なアクションのリロード時に発生していたSegmentation faultは消えたものの、今度はscaffoldでindexアクションをリロードするとまたもやSegmentation faultの嵐。

[2009-01-27 10:59:54] INFO  WEBrick 1.3.1
[2009-01-27 10:59:54] INFO  ruby 1.8.6 (2008-08-11) [i386-mswin32]
[2009-01-27 10:59:54] INFO  WEBrick::HTTPServer#start: pid=5200 port=3000
127.0.0.1 - - [27/Jan/2009:10:59:57 東京 (標準時)] "GET /addressbook/people HTTP/1.1" 304 0
- -> /addressbook/people
127.0.0.1 - - [27/Jan/2009:10:59:57 東京 (標準時)] "GET /stylesheets/scaffold.css?1233019499 HTTP/1.1" 304 0
http://localhost:3000/addressbook/people -> /stylesheets/scaffold.css?1233019499
127.0.0.1 - - [27/Jan/2009:11:00:01 東京 (標準時)] "GET /addressbook/people HTTP/1.1" 304 0
- -> /addressbook/people
127.0.0.1 - - [27/Jan/2009:11:00:01 東京 (標準時)] "GET /stylesheets/scaffold.css?1233019499 HTTP/1.1" 304 0
http://localhost:3000/addressbook/people -> /stylesheets/scaffold.css?1233019499
e:/ruby/lib/ruby/1.8/erb.rb:535: [BUG] Segmentation fault
ruby 1.8.6 (2008-08-11) [i386-mswin32]


This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

WEBrickでも普通に発生しているのでバグだろうか、と、いい加減嫌になってきたが、ふと思い「RailsをIIS7-FastCGIでホストする〜」でインストールしたIISFastCGI拡張(RubyForIIS)でインストールされた全てのファイルを除去すると、なんとSegmentation faultは雲散霧消してしまった。なんだなんだ。これはRubyのバージョンが原因では無いぞ。