[openrtm-users 01181] Re: cleanupComponentで落ちる

Tasuku Owada oowada @ sec.co.jp
2010年 3月 24日 (水) 18:09:41 JST


産総研 栗原様、安藤様

株式会社セックの大和田です。
お世話になっております。

ご回答ありがとうございます。
メーリングリスト[openrtm-users 01149]を確認しておりませんでした。
パッチを当てて確認しましたところ、
cleanupComponent()でセグメントエラーが発生しなくなりました。
お手数をお掛けして申し訳ございません。

以上です

kurihara shinji さんは書きました:
> 株式会社セック 大和田様
> 
> お世話になっております。
> 産総研 栗原です。
> 
>> [原因]
>> RTObject_impl::shutdown()が呼ばれると、
>> m_finalized(Mutexとvector<RTObject_impl*>の構造体)というリストに、
>> 削除対象のインスタンスのポインタがpush_backで登録される。
>> cleanupComponent()が呼ばれたタイミングでインスタンスを削除するが、
>> その後、登録したポインタが pop も delete もされていない。
> 詳細な調査をして頂き、有難うございます。
> この問題に関しましては、早稲田大学の菅様よりご報告頂きましたManager
> 関連のバグ(メーリングリストの"[openrtm-users 01148])の修正の際に合わせ
> て修正させて頂いております。
> 修正点としましては、Manager::cleanupComponent()の最後に
> m_finalized.comps.clear()を追加しました。
> なお、登録したポインタのdeleteは、Manager::deleteComponent()内から
> 呼び出しております、factory->destroy(comp);にて行っております。
> 
> Managerクラスにつきましては、他にもいくつか修正箇所がございまして、
> メーリングリスト[openrtm-users 01149]で添付されていたパッチにて修正
> 済みです。
> メーリングリスト01149にて添付されていたパッチと同じものを添付させて
> 頂いております。
> 
> お手数ですが、添付のパッチを当てるか、以下から最新のソースをチェック
> アウトして頂けますでしょうか。
> 
>  http://openrtp.jp/openrtm/svn/OpenRTM-aist/branches/RELENG_1_0/OpenRTM-aist
> 
> 
> 以上、宜しくお願い致します。
> 
> 
> 
> On Wed, 24 Mar 2010 13:10:48 +0900
> Tasuku Owada <oowada @ sec.co.jp> wrote:
> 
>> 産総研 安藤様
>>
>> 株式会社セックの大和田です。
>> お世話になっております。
>>
>> cleanupComponent()時にコンポーネントが強制終了してしまう
>> 場合がありますので、ご報告させていただきます。
>> 以下、詳細になります。
>>
>> [現象]
>> cleanupComponent()でセグメントエラーで強制終了する。
>>
>> [再現方法]
>> 1. オプションを以下に設定する
>>   "logger.enable"            : YES
>>  "logger.log_level"         : TRACE
>>   "manager.naming_formats"   : "test.mgr"
>>   "manager.is_master"        : YES
>>   "manager.shutdown_auto"    : NO
>>   "manager.shutdowwn_onrtcs" : NO
>>   "timer.enable"             : YES
>> 2. createComponent()でコンポーネントを生成
>> 3. finalize()でコンポーネントを削除する
>>
>> [原因]
>> RTObject_impl::shutdown()が呼ばれると、
>> m_finalized(Mutexとvector<RTObject_impl*>の構造体)というリストに、
>> 削除対象のインスタンスのポインタがpush_backで登録される。
>> cleanupComponent()が呼ばれたタイミングでインスタンスを削除するが、
>> その後、登録したポインタが pop も delete もされていない。
>>
>> ご確認お願い致します。
>>
>> 以上、宜しくお願い致します
>>
>> -- 
>> 大和田資(Owada Tasuku)
>> 株式会社セック(SEC Co.,LTD) 開発本部 第四開発部
>> E-mail:oowada @ sec.co.jp
>>
>> 〒150-0031 渋谷区桜丘町22-14 NESビル
>> Tel:03-5458-7743  Fax:03-5458-7726
>>
>> ======================================================================
>> この電子メールの内容および添付されている情報は、機密情報であると同時に、
>> 宛先として意図した特定の受信者のみに送信いたしております。当方の誤送信
>> 等により、心当たりのない方が受信された場合は、大変お手数ですが、受信さ
>> れましたメール内容は削除していただきますようお願いいたします。
>> ======================================================================
>>
> 
> 

-- 
大和田資(Owada Tasuku)
株式会社セック(SEC Co.,LTD) 開発本部 第四開発部
E-mail:oowada @ sec.co.jp

〒150-0031 渋谷区桜丘町22-14 NESビル
Tel:03-5458-7743  Fax:03-5458-7726

======================================================================
この電子メールの内容および添付されている情報は、機密情報であると同時に、
宛先として意図した特定の受信者のみに送信いたしております。当方の誤送信
等により、心当たりのない方が受信された場合は、大変お手数ですが、受信さ
れましたメール内容は削除していただきますようお願いいたします。
======================================================================



openrtm-users メーリングリストの案内