Namazu-win32-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: 原因不明のハングアップ? ( Re: パスワード付文書のインデックス化 )



田村@島精機製作所です。

佐藤@大和鑑定さん、お返事ありがとうございます。

> とあるので getShapesをコメント化してみてはいかがでしょうか?

  試してみましたがダメでした。
  この<図表の多い>文書を削除しても症状が出るので、原因は
  その次に検索対象となった文書にあると思われます。

  その文書については必ず2枚目のシートを検索中にハングアップ
  してしまうみたいです。それも、シートの順番を変えてみてもダメ
  でした。シートを最初の1枚だけにすると正常に動作しました。

  oleexcel.pl を追跡してみると (perl は私自身、よくわかっていませんが)
  112行目に enum というサブルーチンがあって、その中の
  118行目〜120行目までのループから抜け出てこないことを
  確認しました。

  この部分です。
    my $e = Win32::OLE::Enum->new($enum_objs);
    while(($obj = $e->Next)) {
        return 0 if (!&$func($obj, $cont));
    }

  以前、このMLで Excel 文書インデックス化中の無限ループについて

  X-ML-Name: namazu-win32-users-ja
  X-Mail-Count: 00379
  > シートで分割されたExcelのファイルをmknmzにかけたところ、
  > oleexcel.plでフィルタリングするところで無限ループが発生しました。
  > 原因を調査してますが、どなたかご存知の方は教えてください。
  >
  > messege = "Use of uninitialized value at
  > C:/namazu/share/namazu/filter/win32/oleexcel.pl line 205, <GEN3> chuck
  > 11

  というのがありましたが(残念ながらその件に関するコメントはありませんでし
たが)、
  こちらの症状はエラーログを見ても何もなかったので、本当に<無限ループ>
  しているのだと思います。

断片的な情報で申し訳ございませんが、何か参考になることがあれば
教えていただければと思います。最悪は DENY_FILE で回避しようとは思います。