ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server メッセージ集

44.1.2 サーブレット・コンテナで発生したExceptionまたはErrorについて

  Servletサービスでよく発生するJavaのExceptionやError、アプリケーションが異常終了する要因について説明します。
  サーブレットまたはJSPが異常終了した場合、サーブレット・コンテナの標準出力・標準エラー出力のログ、サーブレットのログ、サーブレット・コンテナのログまたはブラウザにJavaのスタックトレースが出力されます。
  考えられる原因と対処を以下に示します。
  なお、ここで述べる原因とは、当該Exceptionが発生する引き金となる根本原因を指します。
  また、複数のExceptionが同時に発生している場合は、「Root cause:」のExceptionの対処を行ってください。

  ここでのメッセージは、メッセージの内容を直接参照してください。

BindException

[原因]
  サーブレット・コンテナ環境定義ファイルに設定したサーブレット・コンテナのクラス定義のIPアドレス、ポート番号への接続に失敗しています。
  ポートが使用中であるか、IPアドレスの割り当てに失敗している可能性があります。

[ユーザの対処]
  Interstage管理コンソール用のポート番号が使用中でないことを確認してください。
  現在使用中のポートについては、netstatコマンドで確認できます。netstatコマンドについてはOSのマニュアルおよびヘルプを参照ください。
  コンテナの標準出力、標準エラー出力のログに以下のメッセージが出力された場合には、“44.1.3 起動ログおよびコンテナの標準出力、標準エラー出力のログメッセージ”を参照してください。
      FATAL: java.net.BindException: Address in use: bind
      java.net.BindException: Address in use: bind
      または
      FATAL: java.net.BindException: Cannot assign requested address: JVM_Bind
      java.net.BindException: Cannot assign requested address: JVM_Bind

ClassCastException

[原因]
  サーブレットまたはJSPのリロードにより、Webブラウザとのセション情報の不整合が発生しました。

[ユーザの対処]
  Webブラウザを修了し、セション管理を最初からやり直してください。

java.io.IOException

[原因]
  コンテナの標準出力、標準エラー出力のログに以下のメッセージが出力された場合には、“44.1.3 起動ログおよびコンテナの標準出力、標準エラー出力のログメッセージ”を参照してください。
      HANDLER THREAD PROBLEM: java.io.IOException: Stream broken
      java.io.IOException: Stream broken

  その他の場合、サーブレット・コンテナがレスポンスを送信中にサーブレット・ゲートウェイ-サーブレット・コンテナ間のソケットが切断されたことにより発生することがあります。
  ゲートウェイがコンテナの応答処理の完了を待たずにソケットを切断するタイミングは以下のとおりです。

[ユーザの対処]
  この場合、クライアントアプリケーションからの中断であり、サーバ上の異常を示すものではありません。この場合IOExceptionが出力される要因は以下のものがあります。

  なお、これらのIOExceptionは、ゲートウェイによるクライアントアプリケーションのソケット切断の検出タイミング(ネットワークの状態によって異なる)とコンテナによるソケットへの書き出しタイミングに依存するため、必ず発生するものではありません。

NoClassDefFoundError

[原因]
  実行しようとしたクラスファイルが見つかりません。

[ユーザの対処]
  CLASSPATHの設定を見直してください。

OutOfMemoryError

[原因]

  1. Java VMのヒープ領域の不足です。

  2. Java VMのパーム(permanent)領域の不足です。

  3. システムのメモリ不足です。


  原因の切り分け調査には、サーブレット・コンテナのヒープ使用状況を確認できるjheapコマンドが使用できます。jheapコマンドを使用する際に必要なサーブレット・コンテナのプロセスIDは、jscontdispコマンドで確認できます。
  jheapコマンドの使用方法については、“トラブルシューティング集”の“Javaツール機能”-“jheap”を参照してください。

[ユーザの対処]

  1. Java VMの最大ヒープ領域のサイズを増やしてください。

  2. ヒープ領域に空きがあるにもかかわらず、本メッセージが出力される場合には、パーム(permanent)領域が不足していることが考えられます。Java VMのパーム領域のサイズを増やしてください。

  3. 現在起動しているServletサービス以外の不要なアプリケーションを終了してください。メモリ量が不足しているときには、メモリを増設してください。

ServletException

[原因]
  サーブレット内部でExceptionが発生しました。

[ユーザの対処]
  このExceptionの後に出力されている「Root cause:」のExceptionの対処を行ってください。