tobit****@mail*****
tobit****@mail*****
2007年 10月 24日 (水) 23:08:01 JST
工藤様 はじめましてムカイと申します。 全文検索システムからmecabを使用していますが、 複数スレッドから高負荷に呼び出すと、bad_alloc exceptionがthrowされて しまいます。 デバッグしたところ、Nodeを生成しているnewでallocateに失敗しているようです。 現在のソースではbad_allocをcatchしていませんので、結果としてterminateが 呼び出され、強制終了してしまいます。 Javaから呼び出していますので、JNIのラッパー関数内でbad_allocをcatchして、 Javaのexceptionに変換して戻すようにしましたが、そもそもallocateに失敗する ほどメモリが枯渇しているわけではないようですので、newの失敗には別の理由が あるのではと考えていますが、何かおわかりになりますでしょうか? #taggerのインスタンスは処理ごとに生成しています。 御手数をおかけしますが、ご回答のほどよろしくお願い申し上げます。