2011-07-08 10 views
3

Javaアップデート25以降、内部エラーによりVMが時々クラッシュします。以前のバージョン< 25では正常に動作していました。リリースノートによると、ホットスポットコンパイラはアップデート25で修正されました。クラッシュの原因となる欠陥コードが生成されますか? -Xintを指定してJITコンパイラをオフにすると、クラッシュしません。私はここにバグを提出したhttp://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7054478Java VMアップデート25が内部エラーでクラッシュする理由

ログファイルを解釈してクラッシュの発生場所を調べるにはどうすればよいですか。 Javaコード内の行がどこにあるのかを特定することができません。

+0

'-client'と' -server'を試してみてください。 2つのホットスポットは異なっています。 –

+0

ネイティブコードを使用していますか? –

+0

クラッシュログを送信します。これは、http://stackoverflow.com/questions/6344546/java-6-update-25-vm-crash-insufficient-memory – MRalwasser

答えて

1

内部アサーションが失敗した理由は、JVMが予想された状態にないためです。これはエラーを伝播させないために良いことですが、それを回避する方法を教えてくれないため、悪いことです。

-clientや-serverのような簡単な手口が役に立たない場合は、別のJVMを検討してください。

これにより、Oracleがあなたのバグを見ている間に作業することができます。しかし、優先順位は低いので、しばらく時間がかかります。

+0

おかげさまで、別のVMを使用することをお勧めします。私はそれをチェックします。 – Adam

+0

@Adamあなたの問題を何が解決しましたか? –

+0

さて、実際の問題は解決されていませんが、JRockitを使用して問題が解消され、Oraclesの現在のJava 1.7.0_25(実際には以前のバージョン)に修正されたようです。問題の原因はVMの内部的なバグだったので、少なくともそれはそれだと思っていましたが、今修正されているようです。 – Adam

2

「TopLevelExceptionFilterからの予期しない結果」という文字列のバグデータベースを検索しました。他に3つのヒットがありました。それらはすべて、ネイティブコードが予期せぬJNI境界を越えて伝播しているように見えます。

あなたのアプリケーションに関連するヒントはありますか?

+0

ヒントはありがたいですが、ネイティブコードを使用していません。 – Adam

関連する問題