[openrtm-users 02894] Re: OS X においてマネージャ初期化時に固まる症状

Ando Noriaki n-ando @ aist.go.jp
2013年 8月 27日 (火) 11:04:34 JST


たびたびすみません。
ちょっと調べてみたのですが、このwait()一応理由があって入ったようです。
もう少し調査が必要かもしれません。

http://www.openrtm.org/openrtm/en/content/openrtm-users-01670-%E3%82%BE%E3%83%B3%E3%83%93%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E6%B6%88%E3%81%97%E6%96%B9

安藤



2013年8月27日 10:43 Ando Noriaki <n-ando @ aist.go.jp>:
> 中岡さん
>
> 安藤です
>
> ご指摘ありがとうございます。waitはpcloseに含まれているので、いらないですね。
> おそらく、このwaitがNameServiceの子プロセスの終了待ちをしてしまっているため
> ブロックしているのだと思います。チケット出して修正しておきます。
> http://redmine.openrtm.org/issues/2807
>
> ありがとうございました。
>
>
> 2013年8月26日 22:12 Shin'ichiro Nakaoka <s.nakaoka @ aist.go.jp>:
>>
>> すみません、訂正です。
>>
>>> 1.1.0-RELEASEのsrc/lib/coil/posix/coil/Routing.cppにおいて、
>>> 108行と107行にある
>>>
>>> wait(NULL)
>>
>> は、108行と167行でした。
>>
>>
>> (08/26/13 22:08), 中岡 慎一郎 wrote:
>>>
>>> 産総研の中岡です。
>>>
>>> 度々すみません、Mac OS X (Lion) においてマネージャ初期化時に固まるという
>>> 不可解な症状に遭遇しましたので、報告させてください。
>>>
>>> 状況としては、Choreonoidにおいて起動時にRTC::Manager::init()を行なってお
>>> り、ある条件下でこの関数が固まります。
>>>
>>> 固まる箇所をたどっていくと、
>>>
>>> Manager::initNaming() -
>>> NamingManager::registerNameServer()-
>>> NamingManager::createNamingObj() -
>>> NamingOnCorba::NamingOnCorba() -
>>> coil::dest_to_endpoint()
>>>
>>> ときて、ここから呼ばれる
>>> coil::find_dest_ifname() と
>>> coil::ifname_to_ipaddr() の関数です。
>>>
>>> 1.1.0-RELEASEのsrc/lib/coil/posix/coil/Routing.cppにおいて、
>>> 108行と107行にある
>>>
>>> wait(NULL)
>>>
>>> でブロックしたまま帰ってきていません。
>>>
>>> ある条件というのは、マネージャの初期化を行なっているプロセスから、
>>> マネージャ初期化の前にネームサーバのコマンドを(別プロセスとして)起動し
>>> ているということです。同じコマンドをあらかじめ他のプロセスから起動してあ
>>> る場合は、問題なく動くのですが…。また、この症状が出るのはOS Xだけで、
>>> WindowsやLinuxでは同じ事を行なっても問題なく動いています。
>>>
>>> そして、OS Xでも上記の2つのwait(NULL)をどちらもコメントアウトすると、固
>>> まらなくなり、その後も特に問題なく動いているように見えます。
>>>
>>> ちなみにネームサーバのコマンドはomniNamesを参考に自前で実装した
>>> Choreonoid付属のものです。WindowsやMacではネームサーバがデーモンとして自
>>> 動では起動しないのが普通だと思いますが、そのような場合でもChoreonoidを起
>>> 動するだけで簡単にシミュレーションを行えるように、この機能をつけています。
>>>
>>> 以上のような症状なのですが、今後のリリースで上記のwait(NULL)を除去しても
>>> らうというのは問題ありますでしょうか?
>>>
>>
>>
>> --
>> Shin'ichiro Nakaoka <s.nakaoka @ aist.go.jp>
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users @ openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users


More information about the openrtm-users mailing list