Mozilla Flux

Mozilla関係の情報に特化したブログです。

久々に不安定なShiretoko

Shiretoko/3.1b3pre(ID:20090208033138)にアップデートしたのだが、TraceMonkeyがらみで引っかかった。池田信夫 blogで、あるリンクを踏んだらクラッシュしたのでびっくり。リンク先はWSJ.com内のページで、確かめてみると、そこに限らずWSJのトップページにアクセスしても落ちる。毎回再現するのでさらにびっくりだ。

TraceMonkeyをオフにしたときは無事である。念のため再インストールして、アドオンを一切入れないクリーンなプロファイルで起動してみたが、やはりTraceMonkeyがオンのときはクラッシュし、オフだとちゃんと表示される。Firefox 3.0.6でも3.1 Beta 2(TraceMonkeyオン)でもクラッシュは起きないので、最近入った修正が原因なのだろう。

とはいえ、20090206 BranchビルドでJavaScriptエンジンにはかなり手が加えられた。それ以後もいくつかJavaScript関係の修正がみられる。犯人のパッチを特定するのは容易ではないかもしれない。

ちなみに、SunSpiderベンチマークはTraceMonkeyがオンでも完走する。結果は次のとおり。
2270.2ms +/- 1.6%(JITあり)
5778.2ms +/- 0.6%(JITなし)
数値で伝えられないもどかしさ』でID:20090123031537を使って計測したときは
2329.2ms +/- 1.0%(JITあり)
5743.8ms +/- 0.8%(JITなし)
となっていたので、数値的にも悪くない。ベンチマークに含まれないような例外的な処理が躓きの石なのか。

(09/02/10追記)
やはりWSJで落ちる。Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b3pre) Gecko/20090209 Shiretoko/3.1b3pre ID:20090209034247
さらに追記。about:crashesで確認できるのを忘れていた。レポートを見ると、JavaScriptの処理中にクラッシュしていることは間違いない。

(09/02/11追記)
対応するバグが見つかった。"Bug 477332 - crashes [@ js_RecordLoopEdge]"だ。クラッシュレポートのSignatureと符合する。TraceMonkey用のリポジトリで既に修正済みになっているのは幸いだ。

(09/02/22追記)
TraceMonkeyの修正がBranchに入り、ようやく解決した。Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b3pre) Gecko/20090221 Shiretoko/3.1b3pre ID:20090221033633