プロジェクト

全般

プロフィール

バグ #4350

windowsでマスターマネージャーからjavaのRTCを起動できない。

katami が6年以上前に追加. 6年以上前に更新.

ステータス:
担当
優先度:
通常
担当者:
katami
対象バージョン:
開始日:
2017/10/26
期日:
進捗率:

100%

予定工数:

説明

rtcd_java をマスターマネージャーとして起動して、RTSEから JavaのRTCを「create」で生成すると「FAILED create of target RTC.」が表示されて、RTCが起動しない。

  • rtcd_javaは管理者コマンドプロンプトで起動
  • 起動フォルダは、C:\Program Files (x86)\OpenRTM-aist\1.2.0
  • コンフィグファイルは、C:\Program Files (x86)\OpenRTM-aist\1.2.0\bin\rtcd_java.conf を使用。
    c:\Program Files (x86)\OpenRTM-aist\1.2.0>rtcd_java -d -f .\bin\rtcd_java.conf
    
  • 起動するRTCは、ConsileInコンポーネント。
  • モジュールロードパスはコンフィグファイルで設定
    manager.modules.load_path:C:\\Program Files (x86)\\OpenRTM-aist\\1.2.0\\Components\\Java\\RTMExamples\\SimpleIO
    

関係しているリビジョン

リビジョン 1066 (差分)
t-katami が6年以上前に追加

[compat,bugfix->releng_1_2] Fixed the bug. refs #4350

履歴

#1 katami が6年以上前に更新

調査

スレーブマネージャの get_configuration() で マネージャコンフィグレーション(Properties)を_SDOPackage.NameValue[]で返しているが、そのコピー処理内(NVUtil.copyFromProperties)で例外が発生している。
NVUtil.copyFromPropertiesでは、Propertiesの内容を_SDOPackage.NameValue[]へコピーしているが、"config_file"をキーにしてPropertiesから値を取得する際にnullのため例外が発生している。

原因

rtcd_javaを実行しているフォルダ(C:\Program Files (x86)\OpenRTM-aist\1.2.0)にコンフィグレーションファイルがないため、"config_file"の値がnullになっている。
"config_file"には、ManagerConfigクラスでコンフィグファイル名(メンバー変数)が格納されるが、その変数の初期化されていないため、コンフィグレーションファイルが見つからないときは、初期化されていないメンバー変数が設定され、"config_file"をキーにしてPropertiesから値を取得する際にnullのため例外が発生する。

対策

ManagerConfigクラスでコンフィグファイル名(メンバー変数)の初期化を追加した。

#2 katami が6年以上前に更新

  • ステータス新規 から 担当 に変更
  • 担当者katami にセット
  • 対象バージョンRELEASE_1_2_0 にセット
  • 進捗率0 から 100 に変更

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