Project

General

Profile

バグ #4195

モジュールロードパスを複数設定した場合の不具合

Added by katami about 4 years ago. Updated about 4 years ago.

Status:
担当
Priority:
通常
Assignee:
katami
Start date:
09/11/2017
Due date:
% Done:

100%

Estimated time:

Description

モジュールロードパスを複数設定して、Manager::createComponentでコンポーネントを生成した場合、対象のコンポーネントが存在するにもかかわらず、生成できないことがある。
再現例
  • ./RTMExamples/Composite に Motor.java を格納しておく。
  • rtc.confで以下を設定
    manager.modules.load_path: ./RTMExamples/Composite,/home/t-katami/work/OpenRTM-aist-Java/jp.go.aist.rtm.RTC/bin/jp/go/aist/rtm/RTC/
    
  • 以下のようにコンポーネントを生成するとnullが帰ってくる。
    RTObject_impl mcomp = mgr.createComponent("Motor");
    

原因
ModuleManager::load()でパスとモジュール名で検索する。
2つのモジュールパスの一つ目で見つかったにもかかわらず、次にパスでも検索している。
二つ目のパスで見つからなかった場合、その結果が採用されてしまっている。

対策
ModuleManager::load()でパスとモジュール名で検索して、見つかった時点で、検索をやめて、結果を返すように修正する。

Associated revisions

Revision 1039 (diff)
Added by t-katami about 4 years ago

[compat,bugfix,->releng_1_2] Fixed the bug for manager.modules.load_path. refs #4195

History

#1 Updated by katami about 4 years ago

  • Status changed from 新規 to 担当
  • Assignee set to katami
  • Target version set to RELEASE_1_2_0
  • % Done changed from 0 to 100

Also available in: Atom PDF