0

我们在索引的密集测试负载中使用 NIOFSDirectory 而不是 MMapDirectory。但是我们仍然得到一个带有 MMapDirectory 的 SIGSEV。还有什么我应该寻找的吗?这是一台 Linux 64 位机器。堆栈跟踪的头部如下:

请让我知道更多信息会有所帮助。

谢谢...

Java 运行时环境检测到一个致命错误:

SIGSEGV (0xb) 在 pc=0x00002aaaab285ea7,pid=2408,tid=1128642880

JRE 版本:6.0_25-b06 Java VM:Java HotSpot(TM) 64 位服务器 VM(20.0-b11 混合模式 linux-amd64 压缩 >oops) 有问题的框架:J org.apache.lucene.store.MMapDirectory$MMapIndexInput.readByte ()B

4

1 回答 1

1

您很可能在其他线程仍在使用它时关闭您的 IndexReader?

Lucene 试图抓住这种误用,但它的检测只是尽力而为。

您也可以尝试调用 MMapDirectory.setUseUnmap(false) 来关闭取消映射;这应该阻止 SIGSEGV。

于 2013-06-23T00:04:28.300 回答