この日記はMozillaのプロダクトへの貢献者としての私の成果を中心に、気になったバグやWeb界隈の話題について書いていますが、 断り書きがある場合を除き、いかなる団体のオフィシャルな見解ではありません。あくまでも個人的なものです。 Mozilla Foundation、Mozilla Corporation、及び関連企業の公式情報ではないことに注意してください。

現在、XHTML 1.0 (もどき)から、HTML5なコンテンツに修正中です。古い日記は修正が完了していませんので表示が崩れます。 順次、修正していく予定ですのでしばらくお待ちください。

もずはっく日記(2015年8月)

2015年8月30日

Bug-org 1198594 crash in libsystem_kernel.dylib@0x16286
初回投稿日時: 2015年08月30日10時06分19秒
カテゴリ: e10s IME Mozilla Core Mozilla42 Mozilla43 バグ修正
SNS: (list)

Mac OS X 10.10でエディタにフォーカスを合わせると高確率でクラッシュするらしいバグです。スタックが変なことになっていますが、よく見ると、ContentCacheInParent::FlushPendingNotifications()内でdeleteを行っている最中にクラッシュしているようでした。

このメソッド内でdeleteが走る可能性といえば、IMENotification::mMessageNOTIFY_IME_OF_SELECTION_CHANGEから別のものに変更される際にIMENotification::mSelectionChangeData::mStringが削除される場合以外にないです。そこで、IMENotificationを確認してみたところ、コピーコンストラクタでIMENotification::mMessageを初期化するのを忘れていたことに気付きました。これを修正したら発生しなくなったことから、Bug-org 1184449の修正(SelectionChangeDatamStringを追加した)によるregressionであることは明らかなのですが、何故かOS Xでのみ発生し(しかも10.10だけ?)、Bug-org 1189396の修正がトリガーとなって高確率でクラッシュするようになっているという不思議なバグでした。

ちなみに、もちろん、他のOSでもクラッシュする可能性はあります。コピーコンストラクタでIMENotificationが生成された時に、mMessageたまたまNOTIFY_IME_OF_SELECTION_CHANGEになっていればクラッシュします。

セキュリティ上の懸念があるクラッシュバグなので、リポートが皆無のAuroraでも修正を申請しています。

関連するかもしれないエントリ

bug-org 1198594を含むエントリ