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時間とかかかるので、

とりあえず、手っ取り早く現象を再現させる方法を考えないと。