10

最新の. _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?

問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

だから私はあなたのスタックトレースを調べましたが、問題は特にpyLuceneではなかったと思います. スタック トレースに、次のエラーが表示されます。

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

最初の部分である SIGSEGV を見ると、システムのどこかにセグメンテーション違反があることを意味します。SEGV_MAPERR は特定のエラーです。これは、OpenJDK がメモリをオブジェクトにマップしようとして失敗したことを意味します。これは、メモリ不足、ページファイル/仮想メモリの不良、アドレス空間の不良、ライブラリの不良などが原因である可能性があります。別のマシンで機能した理由は何でもかまいません。コアダンプは本当に便利なので、実行できれば

ulimit -c unlimited

それはあなたに何かを見るのに役立ちます。これは VM にありましたか、それとも物理マシンにありましたか? さまざまな Java タスクに十分なメモリが割り当てられていない場合、Ubuntu VM でランダムな sigsegv が表示されることがあります。特に私の ESXi ハイパーバイザーでこれを確認しましたが、最も気づいたのは、ESXi がメモリ スワッピングの実行を開始したときでした。メモリを増やし、VM を再起動し、ハイパーバイザーがメモリをスワップしていないことを確認することで、これを解決できました。それが役立つかどうか教えてください。:)

編集: また、基盤となるストレージ プロバイダーのパフォーマンスが低い場合、スワップ データに影響があり、sigsegv の問題にも影響があると感じています。

于 2015-04-13T13:55:25.523 に答える