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

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

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

2015年11月21日

Bug-org 1224454 [e10s][IMM][TSF] IMMHandler and TSFTextStore should clean up itself when focused widget being destroyed before NOTIFY_IME_OF_BLUR
初回投稿日時: 2015年11月21日18時37分59秒
カテゴリ: e10s IME Mozilla Core Mozilla45 TSF Windows バグ修正
SNS: (list)

e10sモードで、Webコンテンツのエディタがフォーカスを持っている時にウインドウの×ボタンでウインドウを閉じてFirefoxを終了させると、NOTIFY_IME_OF_BLURが子プロセスのIMEContentObserverから送信されても、親プロセスのTabParent::GetWidget()が既にnullptrを返してしまうため、適切なnsWindowに通知することができないことが発覚しました。このため、IMEのイベントハンドラであるTSFTextStoreIMMHandler自身のインスタンスやそれが掴んでいる様々なオブジェクトが未解放のままプロセスが終了してしまい、メモリリークを起こしていたというバグです。

他のプラットフォームではIMEのイベントハンドラが関連するnsWindowDestroy()の呼び出し時にきちんと解放していたのですが、Windowsだけはこれを行っていませんでした。

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

bug-org 1224454を含むエントリ