2013-06-22 45 views
0

我們正在使用NIOFS目錄而不是MMapDirectory進行大量的索引測試。但是我們仍然在使用MMapDirectory獲得SIGSEV。還有什麼我應該找的?這是一臺Linux 64位機器。堆棧跟蹤的頭部如下:Lucene和MMapDirectory的分段錯誤

請讓我知道更多信息會有幫助。

謝謝...

一個致命的錯誤已被Java運行時環境檢測:

SIGSEGV(0XB)在PC = 0x00002aaaab285ea7,PID = 2408 TID = 1128642880

JRE版本:6.0_25-b06 Java VM:Java HotSpot™64位服務器虛擬機(20.0-b11混合模式linux-amd64壓縮> oops) 有問題的幀: J org.apache.lucene.store.MMapDirectory $ MMapIndexInput.readByte()B

回答

1

你很可能關閉你的IndexReader而其他線程仍在使用它?

Lucene試圖捕獲這種錯誤使用,但它的檢測只是盡力而爲。

您也可以嘗試調用MMapDirectory.setUseUnmap(false)關閉取消映射;這應該阻止SIGSEGV。