[openrtm-users 02288] Re: Python版のRTC-Daemon

Yuki Suga ysuga @ ysuga.net
2011年 10月 19日 (水) 01:11:31 JST


安藤先生:
菅です.

より詳しく報告します.

環境: Win7 64bit OpenRTM-aist 1.1 C++RC3, Java RC1, Python RC1
手順:
1.ネームサーバ起動
2.RTSE起動
3.%RTM_ROOT%\bin\rtc.confを添付のrtc.confに変更
4.RTC Daemonを起動
5.RTSEでlocalhost/manager.mgrを選択
6.ここでフリーズ.RTSEが応答なし状態になります.
RTCDのプロンプトにはLoad failed.と8行出てきます.

この時点で遮断して,作成されたログファイルも添付します.
確認していただけますか?
よろしくお願いします.

ではでは



2011年10月18日22:48 Ando Noriaki <n-ando @ aist.go.jp>:
> 菅さん
>
> 安藤です
>
>> ■やはり,マネージャの挙動がおかしいです.
>> 3つの言語を同時に入れています.
>> すべてのモジュールの読み込みをコメントアウトしてからStart RTC Daemonで起動する→RTSEでmanager
>> viewを確認しようとするとload failedと出力されて固まる
>
> これは、固まったままうんともすんとも言わなくなります?
> それともしばらくすると戻りますか?
>
> Windowsだと、DLLのロードが激しく遅いため、
> loadable moduleのリストを取得するのに少々時間がかかります。
> ただ、結果をキャッシュしているので二回目以降はすこし
> マシになります。もし、全く固まるのであればバグですので、
> 状況をもう少し詳しく教えてもらえないでしょうか?
>
>> という状態です.
>>
>> この状態だとどういう事が起こっていますか?ご教授いただけますか?
>
> 1. RTSEのマネージャviewにアクセスすると、マネージャ(rtcd)に
> 対してロード可能なモジュールの一覧を問い合わせる
> 2. rtcdはモジュールロードパス内にあるローダブルモジュールRTC
> に対してrtcprofを使ってRTCのプロファイルを取得しに行きます。
> 3. rtcprofはモジュールをロードして、RTCのプロファイルを取得し
> 標準出力に表示するプログラムです。
> この時、特にWindows上で、RTCの初期化関数XXXInit()がDLL_EXPORT
> されていないとload failedとか出ます。
>
> こんな感じになります。
>
>> 1.0RELEASEあたりから,rtcprofが導入されるなど,たぶん多言語への対応が進んでると思いますが,
>> その辺の挙動が把握しきれてないので・・・すこし教授頂けるとソースを読む効率が上がると思うので・・・すみません,お忙しい中・・・orz
>>
>> 1.ログファイルを見るとC++のrtcd.exeを読んでもpython版のモジュールを読み込もうとしているようですが,
>> どの部分で他の言語のManagerを起動してますか?(そもそもやってますか?)
>
> 言語間の連携部分は未実装なので、プロファイルの取得はしてますが、
> 他の言語のマネージャの起動はしてなかったと思います。
> 基本的にはC++のマネージャに対して、create_component() を呼んで
> rtcd上でコンポーネントを起動する、というところまでです。
> マネージャViewでは、一応ここまでは出来ると思います。
>
> なお、全くできないかというと実はやり方はあります。例えば、
>
> C++ rtcd ポート2810 daemonモード(-d) オプション
> Python rtcd ポート2811 daemonモード(-d) オプション
> Java rtcd ポート2812 daemonモード(-d) オプション
>
> のように起動して、
> rtcd (C++) のcreate_component() を以下のように呼び出せば
> Python上のrtcd上でコンポーネントを起動できます。
>
> create_component("ConsoleIn?manager=localhost/manager:2811&<other options>...");
>
> ただ、Pythonのrtcdに直接アクセスしたほうが早そうですが。。。
>
> このあたりは、現在OMGで議論しているデプロイメントに
> 関する標準とも関係してくるので、コンポーネントの起動や、
> プロセス上でのグルーピング、多言語環境での扱いなど
> 現在検討中です。何かご意見有りましたらお知らせ下さい。
>
>> 2.多言語に対応していると思いますが,その辺のrtc.confの設定方法がドキュメント化されていないのでわかりませんrtc.conf.sampleにも記述が無いです.たぶん,Pythonならmanager.Python.load_pathsだと思いますが・・・
>
> DefaultConfig.hのことでしょうか。
> manager.Python.load_paths とかはこれを使う機能が
> 残念ながらまだ実装されていません。
>
>> 3.Python版のrtcdはrtcd.confを読み込むのですか?rtc.confではないのですか?C++でもそうですか?
>
> 前のメールはrtcd.conf を rtc.conf と勘違いしてました。
> デフォルトではrtc.confを読み込みます。
>
>>
>> すこしご教授いただければと存じます.
>> よろしくお願いします.
>>
>>
>> 2011年10月17日8:32 Ando Noriaki <n-ando @ aist.go.jp>:
>>> 菅さん,皆さん
>>>
>>> 安藤です
>>>
>>>> OpenRTM-aist MLの皆さま:
>>>> お世話になっております.菅です.
>>>> (まとめて報告出来なくてすみません...)
>>>>
>>>> 件名の通り,Python版のRTC-daemonが起動できません.
>>>>
>>>> 1.スタートメニューのショートカットが間違っています.
>>>> Start RTC Daemonというショートカットの先が,rtcd.confになっています.
>>>
>>> すみません,なってますね.修正します.
>>>
>>> 調べる過程で,rtcd.pyがカレントにあるrtc.confを
>>> 読み込まない,また-fオプションでrtc.confを指定しても設定が
>>> 行われない現象がありました.Win7 64bitです.
>>> ただし,コマンドラインから任意のオプションをしていする-o は
>>> 有効でした.(-o corba.nameserver:localhost,192.168.47.1 など)
>>>
>>> 調査・修正よろしくおねがいします.>栗原さん
>>>
>>>> 2.rtcd.py rtcd_python.bat,どちらも起動しません.
>>>> どちらもマネージャが起動しません.すぐに終了してしまいます.
>>>
>>> 具体的に,どのようなメッセージが出るとかわかりますか?
>>> -d オプションをつけても同じでしょうか?
>>>
>>> rtcd はデフォルトでスレーブモードで起動して,RTCが一つもない状態だと
>>> 10秒程度で終了するようになっています.
>>> http://openrtm.org/openrtm/ja/content/rtcconf%E8%A8%AD%E5%AE%9A%E9%A0%85%E7%9B%AE%E4%B8%80%E8%A6%A7#toc3
>>> manager.shutdown_auto の項目
>>>
>>> http://openrtm.org/svnroot/OpenRTM-aist/trunk/OpenRTM-aist/etc/rtc.conf.sample
>>> Manager auto shutdown options の項目参照
>>>
>>>> こちらの環境は,
>>>> Win7 x64 Pro, OpenRTM-aist 1.1 C++ RC3, Python RC1, Java RC1です. Python26です.
>>>
>>> Pythonは64bit版でしょうか?
>>> またOpenRTM-aistはこちらで用意したmsi版でしょうか?
>>> もしくは自前でコンパイルしたものでしょうか?
>>>
>>> ちなみに,こちらはまだ余裕がなくてWindowsの64bit版の検証まで
>>> ちゃんとできておらず,したがって,リリースしているmsiも32bit版
>>> しかありませんのでご注意ください.
>>>
>>> C++もインストールされているようですが,ちゃんと動きますか?
>>> 私も最近ようやくWindows7 64bitで動かし始めているのですが,
>>> コンポーネント自体は起動できて動くのですが,Win7 64bit上の
>>> ネームサーバが全く使えず困っています.
>>> #コンポーネントの登録が全くできない.しかし,
>>> #他のネームサーバにはWin7 64bit上のRTCは登録できる
>>>
>>> ネームサーバを互換モードで起動してみたり,IPv6を切ってみたり
>>> したのですが,状況はあまり変わらずです.
>>> 64bit版のomniNamesも試したのですが,こちらはRTSEで接続する
>>> ことすらできませんでした.(ざっと試しただけですが...)
>>>
>>> 何か情報ありましたらよろしくお願いします.
>>> _______________________________________________
>>> openrtm-users mailing list
>>> openrtm-users @ openrtm.org
>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>
>>
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users @ openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>
>>
>
>
>
> --
> 安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
>    統合知能研究グループ 主任研究員, 博士(工学)
>    〒305-8568 つくば市梅園1-1-1 中央第2
>    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
>    OpenRTM-aist: http://www.openrtm.org
>
> Noriaki Ando, Ph.D.
>    Senior Research Scientist, RT-Synthesis R.G., ISRI, AIST
>    AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
>    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
>    OpenRTM-aist: http://www.openrtm.org
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users
>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: rtc.conf
型:         application/octet-stream
サイズ:     115 バイト
説明:       無し
URL:        <http://www.openrtm.org/pipermail/openrtm-users/attachments/20111019/1db2afc0/attachment-0002.obj>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: rtc11988.log
型:         application/octet-stream
サイズ:     48282 バイト
説明:       無し
URL:        <http://www.openrtm.org/pipermail/openrtm-users/attachments/20111019/1db2afc0/attachment-0003.obj>


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