【问题标题】:PyLucene error with IceTea / JDK / JREIceTea / JDK / JRE 出现 PyLucene 错误
【发布时间】:2014-11-13 08:53:13
【问题描述】:

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

当我尝试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?

我应该如何解决这个问题?

【问题讨论】:

  • 我认为你应该传递一些关于你的电脑架构和软件安装的更多信息。 Python是64位的? Java 是 64 位的。如果没有python,我担心可能会出现问题。我读了“混合模式 linux-amd64”。
  • 你试过 JDK 8 了吗?
  • 我最终在新服务器上重新安装并且它可以工作,但仍然不知道出了什么问题 =(

标签: java python lucene pylucene


【解决方案1】:

所以我查看了您的堆栈跟踪,我认为问题不在于 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 VM 中看到随机 sigsegv。我特别在我的 ESXi 虚拟机管理程序上看到了这一点,我注意到最多的是 ESXi 开始执行内存交换的时候。我能够通过增加内存、重新启动 VM 并确保我的管理程序没有交换内存来解决这个问题。让我知道这是否有帮助。 :)

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

【讨论】:

    猜你喜欢
    • 2011-08-28
    • 2018-08-05
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多