MozillaZine.jp フォーラム https://forums.mozillazine.jp/ |
|
【Firefox】 アドオン XUL/Migemo が原因でFirefoxがCPUを喰らって固まる https://forums.mozillazine.jp/viewtopic.php?f=16&t=8626 |
ページ 1 / 1 |
作成者: | Ryo [ 2009年6月03日(水) 22:59 ] |
記事の件名: | 【Firefox】 アドオン XUL/Migemo が原因でFirefoxがCPUを喰らって固まる |
こんばんは♪ Firefoxのページ内検索機能を強化するアドオンXUL/Migemo の件です。 症状: とある操作をするとFirefoxがCPUを喰らう状態でレインボーカーソル出現(フリーズ)で強制終了するしか術が無くなります。 発生条件: 1)XUL/Migemoの設定はデフォルト設定のままで使用 2)Location Bar に文章?長い?文を入力する。(コマンド + V でペーストする) ↓ 以下の文をLocation Bar にペーストします。そうすると、程なくしてFirefoxがフリーズします。 例:I think that the texture of a big icon is good 発生環境: XUL/Migemo 0.11.14(最新バージョン) Mac OS X(10.5.7) , Intel Mac Firefox 3.0.10, Shiretoko/3.5pre(ID: 20090603031333) などなど 補足: 新規プロファイル下でXUL/Migemo のみを入れた際にも起きます。 (XUL/Migemoの設定はデフォルト設定のままで使用) 暫定処置の方法: アドオンXUL/Migemo の環境設定> Combination 設定 で サーチ対象として「Location Bar」のチェックを外す事で、Firefoxのフリーズは防げます。 Location Bar をXUL/Migemo の検索の動作環境から除外する事となりますが......。 でも、自分の環境だけの不具合なのでしょうか? |
作成者: | Piro [ 2009年6月03日(水) 23:35 ] |
記事の件名: | Re: 【Firefox】 アドオン XUL/Migemo が原因でFirefoxがCPUを喰らって固まる |
メールの方に反応できてなくてごめんなさい。 この問題は、XUL/Migemoの設計上の問題ということで、今の所どうにもいい解決策を思いつけずにいます。 XUL/Migemoはロケーションバーへの入力を空白区切りのAND検索として扱うようになってるんですが、これを実現するために内部的には、例えば「aiueo kakikukeko sasisuseso」という入力に対してだったら「.*(aiueo).*(kaikukeko).*(sasisuseso).*|.*(aiueo).*(sasisuseso).*.*(kaikukeko).*|.*(kaikukeko).*(aiueo).*(sasisuseso).*|.*(kaikukeko).*(sasisuseso).*(aiueo).*|.*(sasisuseso).*(aiueo).*(kaikukeko).*|.*(sasisuseso).*(kaikukeko).*(aiueo).*」という風な、考えられる全ての組み合わせのパターンを展開した正規表現を生成しています。 この例ではそのまま「aiueo」等と書いていますが、この部分は実際には「aiueo|あいうえお|アイウエオ……」という感じのこれまた長い正規表現になります。 なので、単語の数が増えれば増えるほど正規表現はどんどん長くなっていって、普通の英文を貼り付けると、天文学的な数の組み合わせを全部生成しようとしてフリーズしてしまう、という具合です。現実的なスピードで動くのはせいぜい2~3語くらいまでだと思います。 migemo検索のための入力と見なさずに無視する閾値のようなものをどこかに設定するしかないと思うのですが、何を基準にすればよいものやら…… |
作成者: | Ryo [ 2009年6月03日(水) 23:49 ] |
記事の件名: | Re: 【Firefox】 アドオン XUL/Migemo が原因でFirefoxがCPUを喰らって固まる |
Piro さん、こんばんは♪ そー言う事でしたか。 原因が判っただけでもチョット安心しましたf^_^;。 無視する閾値の設定は確かに難しい問題ですね。 突然のフリーズで悩む人もいるでしょうから、 無視する閾値の設定?の件がクリアになるまで、 デフォルトの設定を改めては如何でしょうか? (Combination 設定 >サーチ対象として「Location Bar」のチェックを外す) それなりの知識が有る人だけ、その設定をONにして使用して貰うというのは如何でしょうか? |
作成者: | Piro [ 2009年6月08日(月) 02:57 ] |
記事の件名: | Re: 【Firefox】 アドオン XUL/Migemo が原因でFirefoxがCPUを喰らって固まる |
とりあえず手元のバージョンにおいて、 > これを実現するために内部的には、例えば「aiueo kakikukeko sasisuseso」という入力に対してだったら「(略)」という風な、考えられる全ての組み合わせのパターンを展開した正規表現を生成しています。 この処理を行わないようにしてみたところ、フリーズはしなくなりました。次のバージョンでこの変更を反映しようと思います。 |
作成者: | Ryo [ 2009年6月08日(月) 05:04 ] |
記事の件名: | Re: 【Firefox】 アドオン XUL/Migemo が原因でFirefoxがCPUを喰らって固まる |
Piro さんが書きました: とりあえず手元のバージョンにおいて、
> これを実現するために内部的には、例えば「aiueo kakikukeko sasisuseso」という入力に対してだったら「(略)」という風な、考えられる全ての組み合わせのパターンを展開した正規表現を生成しています。 この処理を行わないようにしてみたところ、フリーズはしなくなりました。次のバージョンでこの変更を反映しようと思います。 Piro さん、スイマセンが確認させて下さい。 正規表現を生成する処理を行わない様にしても、 従来通りにLocation Bar上でもXUL/Migemo の検索動作が出来ると云う事でしょうか? |
作成者: | Piro [ 2009年6月08日(月) 09:21 ] |
記事の件名: | Re: 【Firefox】 アドオン XUL/Migemo が原因でFirefoxがCPUを喰らって固まる |
言葉で説明するのが難しいのですが、コード的にはこんな感じです。 http://www.cozmixng.org/retro/projects/ ... esets/4480 表面的な挙動は変わりません。スペース区切りで入力された単語の数をnとした時に、これまでは計算量がn乗だったのが、今後はn倍におさまるようになった(はず)、という感じです。 (ただしロケーションバーのみ。ブックマークの管理やサイドバーの方は今までのままです。) |
作成者: | Ryo [ 2009年6月08日(月) 10:31 ] |
記事の件名: | Re: 【Firefox】 アドオン XUL/Migemo が原因でFirefoxがCPUを喰らって固まる |
Piro さん、御世話になります。 コードは理解出来るだけの知識を持っていない、 ただの一般ユーザーでありまして申し訳ないのですが良く判りません。 しかし、計算量がn乗だったのが、n倍で収まるのとの事で大幅な改善だと思います f^_^;。 今回の事は色々と御世話になりました。 では。 |
ページ 1 / 1 | All times are UTC + 9 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |