株式会社セック 小田桐様
いつもお世話になっております。
産総研の栗原です。
不具合報告を頂き、誠に有難うございます。
> ・RTC終了時、on_shutdownとon_finalizeの呼び出される順番が
> 逆ではないかと思います。
有難うございます。
不具合報告チケットを発行致しました。
http://www.openrtm.org/redmine/issues/2175
> ・RTCがActive状態で終了(exit)する際、タイミングやRTCの周期の値に
> よっては、on_deactivateが呼ばれない、もしくは、
> on_finalizeが呼ばれた後にon_deactivateが呼ばれる場合があります。
こちらも修正させていただきます。
http://www.openrtm.org/redmine/issues/2176
> ・coil/NonCopyable.hをインクルードするとコンパイルエラーが
> 発生します。
こちらも修正させていただきます。
http://www.openrtm.org/redmine/issues/2177
> ・onInitializeやonActivated、onExecuteなどが例外を投げたとき、
> 登録しているPostComponentActionListenerが呼び出されません。
こちらも検討させていただきます。
http://www.openrtm.org/redmine/issues/2178
> ・任意のクラスのメンバ関数をPreComponentActionListenerとして
> RTCに追加するためのメンバ関数
> RTObject_impl::addPortComponentActionListenerの名前は、
> addPreComponentActionListenerが正しいように思われます。
ご指摘の通りでございます。
http://www.openrtm.org/redmine/issues/2173
> ■RTC Builder
> ■RT System Editor
こちらの問題につきましては、既に修正済みですので、近日中に
プラグインをダウンロードページにアップさせて頂きます。
以上、宜しくお願い致します。
2011年6月29日13:21 Yasuaki Odagiri :
> OpenRTM-aist開発者各位
>
> お世話になっております。
> 株式会社セック 小田桐です。
>
> OpenRTM-aist-1.1.0-RC2およびRTC Builder、System Editorを
> 使っていて、いくつか不具合と思われるものを
> 見つけましたので、ご報告いたします。
>
> ■OpenRTM-aist
> ・RTC終了時、on_shutdownとon_finalizeの呼び出される順番が
> 逆ではないかと思います。
> RTCを終了させる際、on_finalizeが呼ばれてから
> on_shutdownが呼ばれています。
> OMGのRTC Specification 5.2.2.6.3 stop によれば、
> on_shutdownの後にon_finalizeが呼ばれなければならないと
> 思います。
>
> ・RTCがActive状態で終了(exit)する際、タイミングやRTCの周期の値に
> よっては、on_deactivateが呼ばれない、もしくは、
> on_finalizeが呼ばれた後にon_deactivateが呼ばれる場合があります。
> 原因は、RTObject_impl::exit内で、deactivate_componentを
> 呼び出した後、実際にRTCがInactive状態に遷移するのを
> 待っていないためです。
>
> ・coil/NonCopyable.hをインクルードするとコンパイルエラーが
> 発生します。
> NonCopyableCRTPクラステンプレートのコンストラクタと
> デストラクタの名前がNonCopyableCRTPではなく、
> NonCopyableになっているためです。
>
> ・onInitializeやonActivated、onExecuteなどが例外を投げたとき、
> 登録しているPostComponentActionListenerが呼び出されません。
> onExecuteなどが戻り値でエラーを返した場合は、
> PostComponentActionListenerが呼び出されるため、
> 例外を投げた場合でもPostComponentActionListenerは
> 呼び出された方が良いと思います。
>
> ・任意のクラスのメンバ関数をPreComponentActionListenerとして
> RTCに追加するためのメンバ関数
> RTObject_impl::addPortComponentActionListenerの名前は、
> addPreComponentActionListenerが正しいように思われます。
>
> ■RTC Builder
> ・CMake用のファイルが生成されるようになりましたが、
> CMakeを使ってRTCのビルドをすると、リンクエラーが発生します。
> 1.1.0-RC2からは、coilのライブラリ名がcoil110.libになっていますが、
> cmake_modules\FindOpenRTM.cmake内で設定しているcoilのライブラリ名に
> バージョン番号が付与されていないため、coil.libを探しに行こうとして
> リンクエラーが発生します。
>
> ■RT System Editor
> ・Name Service ViewでRTCを選択した際にProperty Viewに表示される
> RTCの情報のうち、以下の情報が重複して2つ表示されています。
> - instance name
> - type name
> - description
> - version
> - vendor
> - category
>
> 以上、よろしくお願いいたします。
>
OpenRTM-aist開発者各位
お世話になっております。
株式会社セック 小田桐です。
OpenRTM-aist-1.1.0-RC2およびRTC Builder、System Editorを
使っていて、いくつか不具合と思われるものを
見つけましたので、ご報告いたします。
■OpenRTM-aist
・RTC終了時、on_shutdownとon_finalizeの呼び出される順番が
逆ではないかと思います。
RTCを終了させる際、on_finalizeが呼ばれてから
on_shutdownが呼ばれています。
OMGのRTC Specification 5.2.2.6.3 stop によれば、
on_shutdownの後にon_finalizeが呼ばれなければならないと
思います。
・RTCがActive状態で終了(exit)する際、タイミングやRTCの周期の値に
よっては、on_deactivateが呼ばれない、もしくは、
on_finalizeが呼ばれた後にon_deactivateが呼ばれる場合があります。
原因は、RTObject_impl::exit内で、deactivate_componentを
呼び出した後、実際にRTCがInactive状態に遷移するのを
待っていないためです。
・coil/NonCopyable.hをインクルードするとコンパイルエラーが
発生します。
NonCopyableCRTPクラステンプレートのコンストラクタと
デストラクタの名前がNonCopyableCRTPではなく、
NonCopyableになっているためです。
・onInitializeやonActivated、onExecuteなどが例外を投げたとき、
登録しているPostComponentActionListenerが呼び出されません。
onExecuteなどが戻り値でエラーを返した場合は、
PostComponentActionListenerが呼び出されるため、
例外を投げた場合でもPostComponentActionListenerは
呼び出された方が良いと思います。
・任意のクラスのメンバ関数をPreComponentActionListenerとして
RTCに追加するためのメンバ関数
RTObject_impl::addPortComponentActionListenerの名前は、
addPreComponentActionListenerが正しいように思われます。
■RTC Builder
・CMake用のファイルが生成されるようになりましたが、
CMakeを使ってRTCのビルドをすると、リンクエラーが発生します。
1.1.0-RC2からは、coilのライブラリ名がcoil110.libになっていますが、
cmake_modules\FindOpenRTM.cmake内で設定しているcoilのライブラリ名に
バージョン番号が付与されていないため、coil.libを探しに行こうとして
リンクエラーが発生します。
■RT System Editor
・Name Service ViewでRTCを選択した際にProperty Viewに表示される
RTCの情報のうち、以下の情報が重複して2つ表示されています。
- instance name
- type name
- description
- version
- vendor
- category
以上、よろしくお願いいたします。