これ3.6 beta 5で直してある。たぶん、IMEで入力している最中にキャレット表示しようとして落ちる。キャレット表示の際に選択文字列(IMEの変換文字列だったような)を取りに行くんだけど、それが取れなくなるから。多分何かのページ推移が重なってる(or 変換文字列がキャンセルされたとか)んじゃないかなと思うけど、再現する方法わからなかった。
849 名無しさん@お腹いっぱい。 [sage] 2009/12/07(月) 18:22:13 ID:dweTbE/00 Be: 上の方じゃ荒らしの標的にされてるし 全然問題のない人にとってこの話題がうざいのはわかる 同じ症状で悩んでる人の参考となるように 自分の例を晒してみただけなんで見逃してくださいな >>838 送ってるよー 新プロファイルにしてからのクラッシュシグネチャは全部 nsQueryContentEventHandler::GenerateFlatTextContent(nsIRange*, nsString&) 再現性がないからバグレポート送れないのが辛い >>842 自分の場合3.0では同じ拡張でも安定していたのが 3.5になってから頻繁に落ちるようになった >>830の他、プラグインはMozillaデフォルト、 Flash 10.0 r32とJava SE 6 U17だけであとは無効にしてる
3.5で起きる原因は、そこのコード3.5からだから。3.5ツリーもapprove request取ろうかな、やっぱり。某先生も引っかかってるらしいし。
ちなみに、これはcrashkillの流れで直したもののひとつ。コメントから見る限りCJKな人だらけっぽいから、IMEがらみ(IME使わないと通らないような場所)の話みたいだけどね。
だから、再現方法がわからなくても、クラッシュネタの場合は、クラッシュレポーターで送ってください。TOP100に入るようなものであれば、見てるから。
補足(2009/12/22)
1.9.1.8へのapproveをもらったから、Firefox 3.5.8でも直ります。
2 件のコメント:
クラッシュ自体、作り込んでしまったのは私なんですが、クラッシュの理由がよく分からないですね。
クラッシュしてるケースでは必ず、OnQuerySeletedText()から呼び出されているので、コンテンツの最初の選択範囲を示すDOMRangeになぜか、適切なノードが設定されていない、ということになります。
これは拡張やWebアプリケーションが同じように選択範囲にアクセスする場合にもこの不正なDOMRangeを取得できてしまうことを意味するので、もし、これの生成もとがFx/Gecko側にあるのであれば修正しなくてはいけないのですが……
レポーターのログを見る限り、TwitterのLoginだとかgmailだとかで発生してるケースが多いので、動的なコンテンツで発生してる状況が多いかなと思ってます。
不正なDOMRangeというよりは、もう選択範囲が存在しないとかじゃないかなぁって考えてて、コメントからすると、動的にHTMLが書き変わっている状況かページ推移が発生してんじゃないかなぁって。
なので、今回は簡単なnullチェックで大丈夫という感じすかね。Root causeが細かくわからないけど、Debug Buildにすれば、コンソールにはエラーがでるから、まだ調査は可能だけど
こういう時こそ、rocとかが最近プッシュしてるVMWareを使ったReply debuggingが使えれば、もう少しなんかわかる気がしますけど
コメントを投稿