2016-06-22 3 views
0

J'ai installé PyLucene 4.10.1 (ce qui je crois est le dernier). Cependant, quand j'appelle initVM(), un SIGSEGV est levé et je n'ai aucune idée de ce qu'il faut faire à ce sujet.PyLucene: lucene.initVM() provoque une erreur de segmentation sur linux RHEL7

est ici la sortie:

[[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) 

La sortie du fichier de base est la suivante:

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

Cependant, je remarquai que Pylucene utilise JRE 1.7 (du message d'erreur ci-dessus). Lorsque je cours les commandes suivantes:

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

il me montre que Java 1.8 est celui par défaut. Serait-ce un problème de compatibilité? Si oui, comment puis-je assurer la stabilité avec une version?

Répondre

0

J'avais actuellement deux versions de pylucène installées (4.9 et 4.10). De plus, je les ai compilé avec JDK 1.7 et utilisais en fait 1.8 (même après avoir basculé sur 1.7 il a montré le SIGSEGV). En fin de compte, j'ai juste rm -rf oeufs (site/packages/lucene4.xxx.egg) et recompilé pylucene4.10 avec JDK 1.8 et cela a fonctionné.