0

Javaでこのような状況になったのはこれが初めてです。

Java は、次のエラーでコア ダンプします。

#
# A fatal error has been detected by the Java Runtime Environment:
#
[thread 140213457409792 also had an error]#  Internal Error (safepoint.cpp:300), pid=4327
, tid=140213211031296
#  guarantee(PageArmed == 0) failed: invariant
#
# JRE version: 6.0_24-b24
# Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.11.4
# Distribution: Ubuntu 12.04 LTS, package 6b24-1.11.4-1ubuntu0.12.04.1
# An error report file with more information is saved as:
# /tmp/hs_err_pid4327.log
#
# If you would like to submit a bug report, please include
# instructions how to reproduce the bug and visit:
#   https://bugs.launchpad.net/ubuntu/+source/openjdk-6/

Mac OSで実行しようとすると、同じ場所にコアダンプが表示されます(JREが異なる必要があります)...コードに関連するものである必要があります。これをデバッグする方法がわかりません。これは例外ではなく、そこに指定されたログ ファイルからは多くの情報が得られません。バグを見つけるために私ができることはありますか?

4

4 に答える 4

1

/tmp/hs_err_pid4327.log ファイルには、コアが発生した場所のスタック トレースが含まれているはずです。JNI 呼び出しを行っていない限り、これはおそらく Java のバグです。

于 2012-09-05T23:55:11.853 に答える
0

ざっと見ただけで、これはすでに報告されていると思います。

バグはおそらくあなたのコード自体にはありません。これは環境の問題である可能性が最も高く、おそらく JVM のバグであり、異常な状態である可能性が高く、その両方である可能性が高く、奇妙な状況下でめったに発生しないバグです。

メッセージの主要な要素 (「safepoint.cpp:100」など) を Google で検索し、他のレポートを見て、共通点や適用できる回避策を探します。この場合、ある一連のレポートは、負荷の高いマルチスレッドが問題の原因になっている可能性があることを示唆しています。

于 2012-09-05T23:39:45.620 に答える
0

コア ダンプは、何をすべきかを示しています...

バグレポートを提出したい場合は、バグを再現する方法の指示を含めて、 https ://bugs.launchpad.net/ubuntu/+source/openjdk-6/ にアクセスしてください。

于 2012-09-05T23:06:21.043 に答える
0

アプリケーション ディレクトリに hprof ファイルがあるかどうかを確認します。オプションで、次を使用して自由にダンプできます

jmap -dump:file=<file_name> <pid>

次に、MAT http://www.eclipse.org/mat/を使用してダンプを分析します。

ここに引用されている他のツールも検討できます。

Javaコアダンプ解析ツール

于 2012-09-06T02:41:13.327 に答える