Actions
バグ #4195
openモジュールロードパスを複数設定した場合の不具合
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()でパスとモジュール名で検索して、見つかった時点で、検索をやめて、結果を返すように修正する。
Updated by katami over 8 years ago
- Status changed from 新規 to 担当
- Assignee set to katami
- Target version set to RELEASE_1_2_0
- % Done changed from 0 to 100
Actions