2016-06-22 4 views
0

PyLucene 4.10.1이 설치되어 있습니다. 그러나, 내가 initVM()을 호출하면, SIGSEGV가 발생하고 그것에 대해 무엇을 해야할지 전혀 모른다.PyLucene : lucene.initVM()은 리눅스 RHEL7에서 세그멘테이션 결함을 야기합니다.

[[email protected] gitCode]$ python 
Python 2.7.5 (default, Oct 11 2015, 17:47:16) 
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2 


>>> import lucene 
>>> lucene.initVM() 


# 
# A fatal error has been detected by the Java Runtime Environment: 
# 
# SIGSEGV (0xb) at pc=0x00007fc725385c4b, pid=18501, tid=140493474518848 
# 
# JRE version: OpenJDK Runtime Environment (7.0_101) (build 1.7.0_101-mockbuild_2016_04_19_09_09-b00) 
# Java VM: OpenJDK 64-Bit Server VM (24.95-b01 mixed mode linux-amd64 compressed oops) 
# Derivative: IcedTea 2.6.6pre01 
# Distribution: Red Hat Enterprise Linux Server release 7.2 (Maipo), package rhel-2.6.6.1.el7_2-x86_64 u101-b00 
# Problematic frame: 
# V [libjvm.so+0x62ac4b] 
# 
# Core dump written. Default location: /local/gitCode/core or core.18501 
# 
# An error report file with more information is saved as: 
# /tmp/jvm-18501/hs_error.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) 

코어 파일의 출력은 다음과 같다 :

Core was generated by `python'. 
Program terminated with signal 6, Aborted. 
#0 0x00007fc72e7ee5f7 in ??() 

그러나, I는 Pylucene가 JRE 1.7 (상기 에러 메시지에서) 사용하는 것으로 확인 여기

가 출력된다. 다음 명령을 실행할 때 :

/usr/sbin/alternatives --config java 
/usr/sbin/alternatives --config javac 

이것은 Java 1.8이 기본값임을 나타냅니다. 호환성 문제 일 수 있습니까? 그렇다면 한 버전의 안정성을 어떻게 보장 할 수 있습니까?

답변

0

실제로 나는 두 종류의 pylucene이 설치되어 있습니다 (4.9 및 4.10). 또한 JDK 1.7을 사용하여 컴파일하고 실제로 1.8을 사용하고있었습니다 (1.7로 전환 한 후에도 SIGSEGV를 보여주었습니다).

결국달걀 (site/packages/lucene4.xxx.egg)과 JDK 1.8을 사용하여 pylucene4.10을 다시 컴파일하면 제대로 작동합니다.

관련 문제