Hyper Estraier : fatal error out of memoryの調査
約100万件のインデックスを20個ほど個別に生成したものを、
estcmd mergeでひとつのインデックス(合計2000万件)にまとめようとしたところ
fatal error out of memoryで落ちてしまう件の調査。
現象としては、16個のインデックスをマージしている最中、
wnum(語句?)の登録の1回目で落ちる。
使用しているアプリは、公式版 windowsバイナリ1.4.10のもの。
HyperEstraierから呼び出しているQDBMのDLLでエラーが出ているらしい。
ということまでは先日の調査で分かっている。
ふと、HyperEstraier最新版の1.4.13で試したらどうなのかな?と。
やってみた結果、やっぱり落ちた。
落ちた時点でのマージ途中のインデックスフォルダのサイズは約10GB
estcmd repairで復旧を試みるも、こちらもやはり
fetal error : out of memory と出て落ちる。
ソースコード確認してもmalloc()でメモリ確保してるところでこけているらしい。
メモリは十分に空いてるのに...なぜ?
最初からマージしていると、現象が再現するまでに10時間とかかかるので、
とりあえず、手っ取り早く現象を再現させる方法を考えないと。