Download
latest Releases : 2.0.0-RELESE
2.0.0-RELESE | Download page |
Number of Projects
RT-Component | 153.5 |
RT-Middleware | 35 |
Tools | 22 |
Documentation | 2 |
Choreonoid
Motion editor/Dynamics simulator
OpenHRP3
Dynamics simulator
OpenRTP
Integrated Development Platform
AIST RTC collection
RT-Components collection by AIST
TORK
Tokyo Opensource Robotics Association
DAQ-Middleware
Middleware for DAQ (Data Aquisition) by KEK
中央大学の小島と申します。
Corba::Namingクラスのエラー起こってしまうのをみつけたのでご報告します。
もしかしたら使用法が違うために生じたものかもしれませんが、
ソースコードも見てみたのですが、このような使い方(以下のコード)を意図している使い方だと思います。
エラーが生じるソースコードは以下のようになります。
int main(int argc,char *argv[])
{
ORBA::ORB_var orb = CORBA::ORB_init(argc, argv);
RTC::CorbaNaming name(orb),name2(orb);
name.init("127.0.0.1:9876");
name2.init("127.0.0.1:9876");
orb->destroy();
}
しかし、
RTC::CorbaNaming name(orb,"127.0.0.1:9876"),name2(orb,"127.0.0.1:9876");
とすると、問題が解決され、エラーは発生しないようです。
また、エラー時には、omniORBが以下のようなエラーを出していることがあることからも
なんらかのバグであると推測されます。
Application check failed. This indicates a bug in the application
using omniORB. See the comment in the source code for more info
file: corbaOrb.cc
line: 987
info: pd_destroyed
また、エラーが起きている場所はgdbでは調べきれなかったのですが、CorbaNamingのデストラクタが呼び出されたあとなど
おかしな動作を行ってしまっているようです。
※バグ?報告 CorbaConsumer.hのoperator=() に、return *this;が足りず、返り値が設定されていないようです。
環境
Fedora6
OpenRTM-aist-0.4.2
omniORB 4.0.7