操作
バグ #751
完了ConfigSampleコンポーネント実行時エラーの問題
開始日:
2009/06/24
期日:
進捗率:
100%
予定工数:
説明
症状¶
リビジョン1402にてConfigSampleコンポーネントを実行すると異常終了する。
エラーメッセージは下記の通り。
$ ./ConfigSampleComp Please change configuration values from RtcLink terminate called after throwing an instance of 'PortableServer::POA::ServantNotActive' Aborted
kurihara さんが15年以上前に更新
原因¶
リビジョン1402からManager::getPOA()で取得できるPOAがデフォルトPOAではないPOA(PERSISTENTとUSER_IDポリシーを設定したPOA)となった。
ConfigSampleComp.cppでは、Manager::getPOA()で取得したPOAを使用してservant_to_reference(comp)呼び出しを行っている。
RTObjectであるConfigSampleはデフォルトPOAでアクティペイトされているため、デフォルトPOAに対してservant_to_reference(comp)を呼び出す必要ある。
下記のように修正することで問題無くConfigSampleを実行することができる。
RTC::RTObject_var rtobj; // rtobj = RTC::RTObject::_narrow(manager->getPOA()->servant_to_reference(comp)); // 修正前 rtobj = RTC::RTObject::_narrow(comp->_default_POA()->servant_to_reference(comp)); // 修正後
修正したConfigSampleComp.cppはコミット済み。(リビジョン1406)
操作