【发布时间】:2011-11-22 09:50:52
【问题描述】:
在使用 Lucene 索引文档时,我的 JVM (1.6.0_29) 在密集使用时不断崩溃。 我明白了:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00002b6b196d767c, pid=26417, tid=1183217984
#
# JRE version: 6.0_29-b11
# Java VM: Java HotSpot(TM) 64-Bit Server VM (20.4-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J org.apache.lucene.store.DataInput.readVInt()I
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
环境:
JDK:1.6u29(与 1.6_02 相同的问题) Lucene 版本 3.4.0
vm_info:用于 linux-amd64 JRE (1.6.0_29-b11) 的 Java HotSpot(TM) 64 位服务器 VM (20.4-b02),由“java_re”和 gcc 3.2 于 2011 年 10 月 3 日 01:19:20 构建.2 (SuSE Linux)
操作系统:CentOS 5.0 版(最终版)
jvm_args: -Dcatalina.home=/var/local/tomcat-8081 -Dcatalina.base=/var/local/tomcat-8081 -Djava.io.tmpdir=/var/tmp -Dfile.encoding=UTF-8 -Xmx1024M -XX:MaxPermSize=96m
这似乎是 jdk 1.7 中修复的 jdk 问题,但引入了其他问题。 https://issues.apache.org/jira/browse/LUCENE-3335 “Java 7 包含自 1.6.0_21 以来对 readVInt 问题的修复(大约,LUCENE-2975)”
那么,如何使用 JDK 1.6 解决这个问题? 我应该升级到 jdk 1.7 吗?
【问题讨论】:
标签: java lucene jdk1.6 segmentation-fault java-7