2016-07-22 15 views
0

Oracle 1.8.0_60 JVMでは、エラーログではライブラリに関係しないSIGSEGVクラッシュが2回発生しました。ネイティブコードでクラッシュが発生したというメッセージが表示されます。名前付きライブラリのないネイティブでのJVM SIGSEGVクラッシュ

クラッシュ
# Problematic frame: 
# C 0x00007f6d04000000 
# 

# Problematic frame: 
# C 0x00007fc6ec048ff0 
# 

両方回スレッドは、アプリケーションスレッドです。 ForkJoinPoolまたはTomcat ajp-biスレッドのいずれかです。

何が間違っていた可能性がありますか?通常、ネイティブライブラリに障害がある場合は、ライブラリの名前が含まれています。 the first crashthe second crashfull version for comparison)のサニタイズされたhs_err-logsに表示されていることは、十分なメモリがあるように見えていた可能性のあることについて、ちょうどメタスペースは、尽きるほどです。

環境は、64ビットLinux上で実行されます:

[[email protected] ~]$ uname -a 
Linux bar 2.6.32-504.16.2.el6.x86_64 #1 SMP Wed Apr 22 06:48:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 
+0

Java 8アップデート92を試してみましょう。これは、クラッシュするスレッドの名前を調べることができるかどうかを調べるのに役立ちます。 –

+1

フルクラッシュダンプを教えてください。さもなければランダムな推測だけがあります。 – apangin

+0

申し訳ありませんが、私は私の書式変更のリンクを壊していました。 'hs_err'-logsが正しくリンクされました。 – jmiettin

答えて

1

ここにパターンを発見するために、実際には不可能ですので、あなたが唯一の完全なログを掲示したが、C枠が非実行可能メモリ領域内にあり、コード空間の外側にある。また、VMイベントは、再突然解消とバイアス取り消しの混乱を示しています。だから私の推測はそれが誤ったコンパイルかもしれないということです。あなたが試すことができます

もの:

  1. はあなたのJVMを更新します。 8.0_60-b27は最新のパッチレベルではありません。
  2. は、VMの更新はそれを修正しませんが、選択肢の一つは、それはおそらくVMのバグだんし、あなたのLinuxディストリビューションまたはOracleを使用してファイルする必要がある場合
  3. -XX:-UseBiasedLocking -XX:-TieredCompilation-XX:-UseBiasedLocking -XX:TieredStopAtLevel=1

を試してみてください。

+0

[その他のケース](https://gist.githubusercontent.com/jmiettinen/dde6adb59e31f2de6171bd5af0101ac1/raw/fce0bbebed0eed5475d5d2a013ff774e1738bb49/hs_err_full.log)では、最適化解除がないことを除いて状況は同じように見えます。 ご協力いただきありがとうございます。今私は、これをOracleがそれを見ることができるような方法で再現する方法を考え出す必要があります。 – jmiettin

関連する問題