Linux でのスタック・オーバーフロー条件
Linux® でのスタック・オーバーフローは SIGSEGV エラーによって識別できますが、コンソールに情報が表示されずに、Java™ 仮想マシン (VM) が予期せずに停止する可能性があります。
スタック・オーバーフローがないときに SIGSEGV エラーを受け取った場合は、 ダンプ・ファイルが生成されない可能性があるシナリオ の例のように、診断情報がコンソールに書き込まれます。
スタック・オーバーフローが発生した場合、最も可能性の高い結果として次の 2 つのものがあります。
- Java プロセスの作業ディレクトリーにコア・ファイル (core.pid) が生成されました。
- コア・ファイルが作成されなかったか、コア・ファイルが切り捨てられている。
コア・ファイルが作成されなかった場合、システム設定を調べて コア・ファイルの生成が有効になっていることを確認してから、アプリケーションを再実行する必要があります。 詳しくは、 OpenJ9 ユーザー資料の システムの構成 を参照してください。
システム設定で既にコア・ファイルの生成が有効になっているが、コア・ファイルが作成されなかった場合、この問題はスタック・オーバーフローではありません。 スタック・オーバーフロー・ケースでのコア・ファイルの生成は、-Xrsまたは-Xrs:syncオプションを指定して実行する場合のSIGSEGVエラーと同じでなければなりません。 詳しくは、 OpenJ9 ユーザー資料の -Xrs を参照してください。