java - IceTea/JDK/JRE 的 PyLucene 错误

标签 java python lucene pylucene

我已按照安装说明进行操作 http://bendemott.blogspot.de/2013/11/installing-pylucene-4-451.html pylucene 使用最新的 pylucene-4.9.0.0

当我尝试 lucene.initVM() 时,出现以下错误:

alvas@ubi:~$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import lucene
>>> lucene.initVM()
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007ffba22808b8, pid=5189, tid=140718811092800
#
# JRE version: OpenJDK Runtime Environment (7.0_65-b32) (build 1.7.0_65-b32)
# Java VM: OpenJDK 64-Bit Server VM (24.65-b04 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea 2.5.3
# Distribution: Ubuntu 14.04 LTS, package 7u71-2.5.3-0ubuntu0.14.04.1
# Problematic frame:
# V  [libjvm.so+0x6088b8]  jni_RegisterNatives+0x58
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/alvas/hs_err_pid5189.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   http://icedtea.classpath.org/bugzilla
#
Aborted (core dumped)

和文件http://pastebin.com/6B8FyC4Z

我的 IceTea 配置有问题吗?还是我的 JDK?还是 JRE?

我该如何解决这个问题?

最佳答案

所以我查看了您的堆栈跟踪,但我不认为问题出在 pyLucene 上。在堆栈跟踪中,您会看到此错误:

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x0000000000000000

如果您查看第一部分 SIGSEGV,这意味着您的系统某处存在段错误。 SEGV_MAPERR 是特定的错误,这意味着 OpenJDK 试图将内存映射到对象但失败了。这可能是由于内存不足、错误的页面文件/虚拟内存、错误的地址空间,甚至是错误的库引起的。为什么它在另一台机器上工作可以是任何东西。核心转储非常有用,所以如果你可以运行

ulimit -c unlimited

这将有助于让您有所了解。这是在虚拟机中还是在物理机上?如果没有为各种 Java 任务分配足够的内存,我会在我的 Ubuntu 虚拟机中看到随机 sigsegv。我特别在我的 ESXi 管理程序上看到了这一点,我注意到最多的是当 ESXi 开始执行内存交换时。我能够通过增加内存、重新启动 VM 并确保我的管理程序没有交换内存来解决这个问题。让我知道是否有帮助。 :)

编辑:我还注意到,如果底层存储提供程序性能不佳,那将影响交换数据,我认为这也会影响 sigsegv 问题。

关于java - IceTea/JDK/JRE 的 PyLucene 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26904725/

相关文章:

python matplotlib条形图添加条形标题

python - Django 将 TemplateView 传递给 ModelAdmin.add_view

Java Lucene - 对于相同 Lucene 查询语言,BooleanQuery 和 QueryParser 查询的不同结果

c# - 关于 catch block 中 catch 语句顺序的问题 - 特定于编译器或语言标准?

java - 确定 Java 中两个字符的字母顺序

java - BouncyCaSTLe 和 Apache Commons Codec Base64 编码的区别

c# - Lucene - 对子句计数的评分效果

java - 为什么我从 SimpleDateFormat 收到错误 "Unparseable date"?

python正则表达式帮助

elasticsearch - 为什么我在Elastic search中看到已删除的文档