2014-11-13 4 views
10

최신 pylucene-4.9.0.0을 사용하는 pylucene의 설치 지시자 http://bendemott.blogspot.de/2013/11/installing-pylucene-4-451.html을 따라했습니다. IceTea/JDK/JRE의 PyLucene 오류

그리고 내가 lucene.initVM()을하려고 할 때, 나는 다음과 같은 오류 얻을 :

[email protected]:~$ 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?

어떻게 문제를 해결해야합니까?

+0

나는 당신이 당신의 PC와 소프트웨어 설치의 아키텍쳐에 관한 더 많은 정보를 전달해야한다고 생각한다. 파이썬은 64 비트인가? Java는 64 비트입니다. 파이썬이 그렇지 않다면 문제가 될 수 있다고 생각합니다. 나는 "mixed mode linux-amd64"를 읽었다. –

+0

JDK 8을 사용해 보셨습니까? – duhaime

+0

새로운 서버에 재설치를 끝내고 작동하지만 문제가 무엇인지 알 수 없습니다. = ( – alvas

답변

1

그래서 스택 추적을 살펴 봤는데 문제가 특별히 pyLucene이라고 생각하지 않습니다. 첫 번째 부분, SIGSEGV를 보면

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

, 그건 당신이 시스템에 어딘가에 세그먼트 오류를 ​​의미 : 스택 추적에서이 오류를 참조하십시오. SEGV_MAPERR은 특정 오류입니다. 즉, OpenJDK가 메모리를 객체에 매핑하려고 시도했으나 실패했습니다. 이것은 메모리 부족, 잘못된 페이지 파일/가상 메모리, 잘못된 주소 공간 또는 나쁜 라이브러리로 인해 발생할 수 있습니다. 다른 컴퓨터에서 작동하는 이유는 무엇 일 수 있습니다. 당신이 당신을보고 뭔가를주고 도움이 될 것입니다

ulimit -c unlimited 

를 실행할 수 있습니다, 그래서 만약 코어 덤프는 정말 유용합니다. VM 또는 실제 시스템에 있었습니까? 다양한 Java 작업에 할당 된 메모리가 충분하지 않으면 우분투 VM에서 임의의 sigsegv를 보았습니다. 특히 ESXi 하이퍼 바이저에서이를 보았습니다. ESXi가 메모리 스와핑을 수행하기 시작한 때가 가장 많았던 것으로 나타났습니다. 메모리를 늘리고, VM을 재부팅하고, 하이퍼 바이저가 메모리를 스왑하지 못하도록하여이를 해결할 수있었습니다. 도움이되는지 알려주세요. :)

편집 : 기본 저장소 공급자의 성능이 좋지 않은 경우 스왑 데이터에 영향을 주며 sigsegv 문제에도 영향을 미친 것으로 나타났습니다.

관련 문제