Interstage Application Server/Interstage Web Server トラブルシューティング集
目次 索引 前ページ次ページ

第9章 CORBAサービス使用時の異常

9.1 CORBAサービス運用中のシステム例外発生

CORBAサービス運用中にCOMM_FAILUREが発生する

 CORBAサービス運用中にシステム例外(COMM_FAILURE)が発生した場合、以下の原因が考えられます。

configファイルの設定による問題

 configファイル(CORBAサービスの動作環境ファイル)の以下のパラメタ値で不足が発生した場合、COMM_FAILUREが発生します。
 なお、サーバ機能では、max_IIOP_resp_conの値および実際の消費量をodprtcurparamコマンドにより確認することができます。また、oddumprespコマンドを使用すると、max_IIOP_resp_conの使用状況(コネクションの状態)について確認できます。

[発生マシン]
 サーバ
[発生条件]
 サーバでクライアントから受け付けるコネクション数を超えて、リクエストを受け付けた場合に発生します。
 動作ログを採取し、ログファイルに以下の情報があれば、これが原因と考えられます。
  Error gen (OM_con_lib.c,xxxx): responder: max connection limit exceeded
[発生頻度]
 通常、クライアントアプリが終了するまで継続して発生します。
[発生マシン]
 クライアント/サーバ
[発生条件]
 以下の監視時間が設定値を超えた場合に発生します。
 period_receive_timeout
  リクエスト発行から応答受信までの時間
 period_server_timeout
  起動タイプがpersistent以外のサーバで、fork()/exec()からCORBA_ORB_init()までの時間
[発生頻度]
 瞬間的に発生します。

initial_hosts/inithostファイルの設定による問題

 initial_hosts(inithost)ファイル(サービスの所在問い合わせ先定義)に以下の問題が発生した場合、COMM_FAILUREが発生します。

[発生マシン]
 クライアント/サーバ
[発生条件]
 誤ったホスト名やポート番号が設定された場合に発生します。
[発生頻度]
 再設定まで継続して発生します。

アプリケーション/運用上の問題

 運用中に以下のような問題が発生した場合、COMM_FAILUREが発生します。

[発生マシン]
 クライアント/サーバ
[発生条件]
 CORBAサービスが起動されていない、またはinitial_hosts/inithostファイルやオブジェクトリファレンスに定義されたサービスが動作していない場合に発生します。
[発生頻度]
 サービス起動まで継続して発生します。
[発生マシン]
 クライアント/サーバ
[発生条件]
 TypeCodeインタフェースの以下のメソッド(TypeCode情報取得)を発行時、インタフェースリポジトリと通信できなかった場合に発生します。
  CORBA_TypeCode_name()
  CORBA_TypeCode_member_count()
[発生頻度]
 メソッド発行時
[発生マシン]
 クライアント/サーバ
[発生条件]
 LANの負荷が高く、TCP/IPへの送信/受信でエラーになった場合に発生します。
[発生頻度]
 CORBAサービス起動まで継続して発生します。
[発生マシン]
 クライアント
[発生条件]
 クライアントアプリケーションとサーバアプリケーションを異なるマシン上で運用している際、TCP/IPの仕様のよりサーバマシンのシステムダウンをクライアント側で検出できなかった場合に発生します。これは、クライアントにおいてconfigファイルのperiod_receive_timeoutパラメタで設定した待機時間を超過した際に通知されます。
[発生頻度]
 ネットワーク構成に依存するため、特定できません。
[対処]
 サーバマシン、ルータなどのネットワーク装置の状態を確認してください。

CORBAサービス運用中にNO_RESOURCESが発生する

 CORBAサービス運用中にシステム例外(NO_RESOURCES)が発生した場合、以下の原因が考えられます。

configファイルの設定による問題

 configファイル(CORBAサービスの動作環境ファイル)の以下のパラメタ値で不足が発生した場合、NO_RESOURCESが発生します。
 なお、サーバ機能ではmax_IIOP_resp_requestsの値および実際の消費量をodprtcurparamコマンドにより確認することができます。また、oddumprespコマンドを使用すると、max_IIOP_resp_requestsの使用状況(コネクションの状態)について確認できます。

[発生マシン]
 サーバ
[発生条件]
 サーバ側で同時に処理できるリクエスト数を超えた場合に発生します。
[発生頻度]
 瞬間的に発生します。

CORBAサービス運用中にUNKNOWNが発生する

 CORBAサービス運用中にCORBA_ORB_init関数でシステム例外(UNKNOWN)が発生した場合、以下の原因が考えられます。

configファイルの設定による問題

 configファイル(CORBAサービスの動作環境ファイル)の以下のパラメタ値で不足が発生した場合、CORBA_ORB_init関数でUNKNOWN例外が発生します。
 なお、max_processesの値および実際の消費量をodprtcurparamコマンドにより確認することができます。

[発生条件]
 同時に起動できるCORBAアプリケーションのプロセス数を超えた場合に発生します。
 システムログ(Windows(R)ではイベントログ)にod10936メッセージが出力されていれば、これが原因と考えられます。
[発生頻度]
 システム構成に依存するため、特定できません。

odprocwatchプロセス停止よる問題

 CORBAサービスが起動中の状態で、odprocwatchプロセス(Windows(R)版ではイメージ名はodprocwatch.exe)が起動していない場合、CORBA_ORB_init関数でUNKNOWN例外が発生します。
 なお、クライアントパッケージではCORBAサービスが起動しないため該当しません。


 タスクマネージャでプロセス一覧を確認し、イメージ名がOdstart.exeのプロセスが存在し、odprocwatch.exeのプロセスが存在しない場合は、これが原因と考えられます。

 psコマンドでシステム上のプロセス一覧を確認し、OD_startプロセスが存在し、odprocwatchプロセスが存在しない場合は、これが原因と考えられます。

[対処]
 一括情報採取ツールを使用して調査情報を採取した後、Interstageを再起動してください。

目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED