Namazu-win32-users-ja(旧)


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

インデックス作成時のエラー



 はじめて参加させてもらいます。池浦@福岡県水産海洋技術センター豊前海研究所です。

 待ってましたとばかりにNew oleexcel.plを使用していて問題が起きました。
 New oleexcelフィルタでテキスト出力した後のファイルをmknmzが処理している時に
異常終了するexcelファイルがあります(ちなみに従来のoleexcel.plだとインデックスが
作成できます。時間はかかりますが)。

 状況としては、oleexcelフィルタからテキストとして内容がmknmzに
返ってから後の処理で異常になっているようで、Perl.exeのメモリ使用量が
直線的に増加して約26MB程度になった後、

 Windows アプリケーションエラー 
 "0x77a69b11"の命令が"0x000a7f00"のメモリを参照しました。メモリが"written"に
 なることはできませんでした。
 プログラムを終了するには[OK]をクリックしてください。

というウインドウが開いてプログラムを終了せざるを得なくなります。

そこで、New oleexcel.plの一時ファイルMNZ.XLS1.tmpを調べるとテキスト出力は
正常に実行されおり、問題のファイルを手動でテキスト出力した物と同一でした。

 ただ、出力されたテキストファイルはタブコードが延々と出力されている物だった
ので(UsedRangeが異常に大きい)、手動で出力したテキストファイルをテキストとして
mknmzしてみると、Perl.exeが同様にメモリを約26MB使用した後、勝手に終了してしまいます。
--debugを付けて実行すると、インデックスの一時ファイルを作った後固まっている
ようで、その後のメッセージは出力されません。

その後色々試してみると、

1行目:年<TAB>月<TAB>日<TAB>場所<TAB>種類<TAB>サイズ<TAB>銘柄
 + 511行以上の<TAB>のみの行
 (<TAB>:タブコード)

の内容のテキストファイルでエラーが発生し、Perl.exeがメモリを約26MB使用した後
勝手に終了します。

 更に詰めてみると、1行目の最後の"銘柄"の文字を削除或いは"銘柄"の後に半角文字を
付けるとタブのみの行が511以上あっても正常に終了します。どうもmknmzの行頭行末処理に
絡んでいそうなの問題のようなのですが、どなたか解決策をご存じないでしょうか。
よろしくお願いします。

<当方の環境>
Windows2000 Server SP1(Window2000 Professional SP1でも同じ症状でした)
Namzu 2.0.5
ActivePerl 5.0.6 Build623(615でも同じ症状でした)
kakasi 2.3.2
Excel2000
環境変数LANG=ja_JP.SJIS
                            
                e-mail:s-ikeura_sea@xxxxxxxxxxxxxxxxxxxxxxxxxx