15

私はJavaでこのエラーを引き起こす原因を解明しようとしています:

Invalid access of stack red zone 0x115ee0ed0 rip=0x114973900

誰かがこのエラーメッセージに遭遇したことがありますか?それは文字通りJVMを殺し、すべてがそこで止まります。

私は現在このバージョンのJavaを使用しています:(OSX 10.6の場合)

java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)

私が探しているのは、これを再びヒットしないようにする方法についてのある種の説明とヒントです。

前もって感謝します!

4

4 に答える 4

7

今日、OSXで同じエラーが見つかりました。エンティティビーンのstackOverlfowに相当するものまで追跡しました

于 2010-11-20T11:18:46.287 に答える
5

コードを見ないと、エラーの原因を特定するのは困難ですが、ここではレッドゾーンの説明と、問題について説明しているリンクをいくつか紹介します。

アプリケーションに割り当てられたメモリの各ブロックには、アプリケーションに割り当てられたメモリの直前と直後のメモリ内の特別な署名である先頭と末尾の「レッドゾーン」が付属しています。アプリケーションがこの領域の外側で上書きする場合、レッドゾーンの署名は上書きされます。その後、アプリケーションがクラッシュし、メモリが返されるときにこの異常終了が発生し、OSはレッドゾーンを検査できます。

この問題はMacOSXで見つかったため、クラスが見つからない場合のクラスローダーの問題に関連している可能性がありますが、mac osxでは、レッドゾーンアクセスとして報告されています。したがって、JDK 1.5で試して、問題を再現できるかどうかを確認してください。

http://osdir.com/ml/java.objectweb.asm/2007-07/msg00004.html

http://wiki.geneontology.org/index.php/OEWG_20090505

http://forums.oracle.com/forums/thread.jspa?threadID=429325

于 2009-10-01T04:00:50.057 に答える
2

すでに述べたように、これはステルススタックオーバーフローのようです。スタックサイズのJVMパラメーター(-Xss)を増やします。私の場合、-Xss128kから-Xss1024kに変更することでうまくいきました。

于 2011-09-06T05:02:30.877 に答える
2

これが他の人に役立つ場合に備えて。不正な文字列がJSONArray.fromObject(jsonString);に渡された場合、このエラーが発生しました。

実行中:javaバージョン "1.6.0_29" Java(TM)SEランタイム環境(ビルド1.6.0_29-b11-402-10M3527)Java HotSpot(TM)64ビットサーバーVM(ビルド20.4-b02-402、混合モード)OSX 10.6.8

jsonStringの最初の値はnullで、エラーは次のとおりです。

スタックレッドゾーンの無効なアクセス0x10d446ba0rip= 0x10c384b87

バスエラー

これにより、jvmが完全に強制終了されました。

それが悪いjson文字列であることがわかったら、修正は簡単でした。

それが誰かを助けることを願っています。

于 2012-06-08T14:42:50.217 に答える