プロジェクト

全般

プロフィール

バグ #967

exampleのSimpleServiceでActivate→Deactivateを繰り返すとMyServiceProviderでstate:ERRORになる

匿名ユーザー が14年以上前に追加. 14年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2009/10/22
期日:
進捗率:

100%

予定工数:

説明

examples/SimpleService の動作確認時、以下の操作を行った場合に不具合が発生する。

1. コンポーネント起動(MyServiceConsumer、MyServiceProvider)
2. ポート接続
3. All Activate
4. All Deactivate
5. All Activate
  ※MyServiceProvider が赤色(state:ERROR)表示になる
6. コマンドを実行すると、No service connected. が出力される

履歴

#1 匿名ユーザー が14年以上前に更新

  • ステータス新規 から 解決 に変更
  • 進捗率0 から 100 に変更

●原因
 CorbaPort クラス
 Provider情報を格納する内部クラスのコンストラクタ引数とメンバー変数が同じ変数名に
 なっており、メンバー変数に代入されず、nullとなっていた為、
 activateInterfaces()の際、activate_object_with_id(oid, servant)の
 servantがnullで指定され、NullPointerException 例外が発生していた。

●対処
// 対処前
private class ProviderInfo {
public ProviderInfo() {
}
public ProviderInfo(Servant servant, byte[] objectid) {
servant = servant;
oid = objectid;
}
public Servant servant = null;
public byte[] oid = null;
}
protected HashMap<String, ProviderInfo> m_servants = new HashMap<String, ProviderInfo>();

// 対処後
public ProviderInfo(Servant svt, byte[] objectid) {
servant = svt;

#2 n-ando14年以上前に更新

  • ステータス解決 から 終了 に変更

他の形式にエクスポート: Atom PDF