[openrtm-users 00983] Re: [1.0.0-RC1] データ送信中に接続線をdeleteするとRTCが死んでしまう

Toshihisa Saitoh saitoh @ segway-japan.co.jp
2009年 10月 30日 (金) 14:02:15 JST


セグウェイジャパンの齋藤です。


いつもお世話になっております。

こちらでも同様に見える現象が発生しております。

Fedora7
OpenRTM-aist-1.0.0-RC1 (C++)
RtSystemEditor-1.0.0
<timestamp用パッチ適用済み>

の環境で、
Activate中に接続線をdeleteすると、それにつながったモジュールも死んでしまうことがあります。
まったく同様の現象かは判りませんが、

デバッグアウトプットしていたところ、
どうもOutPortに対してWriteするタイミングで死んでいるようです。

通常エラーログが出ずに、モジュールのプロセスがセグメンテーションエラーとなるところ、
稀に出現した出力がありますので添付致しました。



----- Original Message ----- 
From: "Yusuke Nakajima" <y.nakajima @ aist.go.jp>
To: <openrtm-users @ m.aist.go.jp>
Sent: Friday, October 30, 2009 1:24 PM
Subject: [openrtm-users 00982] [1.0.0-RC1] データ送信中に接続線をdeleteするとRTCが死んでしまう


> 産総研の中島です。
> 
> Ubuntu8.04環境にて、OpenRTM-aist-1.0.0-RC1 (C++)
> とRtSystemEditor-1.0.0を使用しています。
> (timestamp用のパッチ適用済みのもの)
> 
> RtSystemEditor上で、OutPortを持つRTCとInPortを持つRTCを
> 接続し、Activateさせ、データの送受信を行う単純なRTC群を
> 用意し、Activate中に(Deactivateさせずに)、その接続線を
> deleteすると、RTCが消えてしまい、(NameServer上ではゾンビ)
> 以下のようなメッセージのいずれかを吐いて死んでいることがあります。
> ちなみに、RTC自体は、onDeactivate()やonAbort()、onError()などには
> 遷移せずに死んでいます。
> 
> =====
> [1]
> "$ Segmentation Fault"
> 
> [2]
> "$ illegal error"
> 
> [3]
> "$ pure virtual method called terminate called without an active
> exception
>  $ Aborted"
> =====
> 
> 上記3パターンのいずれかを出しますが、どれがどういう場合に
> 出るのか、再現性が不明で把握しておりません。
> (遭遇したのは上記3パターンのみですが、他もあるかもしれません。)
> 
> また、この現象は必ず発生する訳ではなく、推測ですが、データ送信途中で
> 線が切られると起こるように思えます。排他制御が効いていない?
> 全体の負荷が軽いと起こらないようで、その場合は、1サイクル内でデータ送信
> が早めに終了していて、その後に線をdeleteしているのかもしれません。
> 
> 単純なサンプルを添付します。「testA」-->「testB」とDataPort接続し、
> 「testA」側で毎onExecute()でデータを送信し、「testB」で受信したものを
> 出力するのみです。
> 
> これを、1台のPCでローカル環境で行っていると、なかなか症状が再現されない
> のですが、2台のPCに分散させ、私の場合無線環境でNameServerに飛ばし、かつ、
> rtc.conf内のrateを「1000000」くらいにし、極力、RTCの1サイクル中はデータ
> 送信処理で負荷を占めるようにさせてトライしたところ、線をdeleteすると
> 「testA」が死んでしまう現象が何度か再現できました。
> 
> ということで、RTC群がActivateされている状態で、動的にPortの接続などを
> 変更しようとすると、場合によってはRTCが死んでしまい、全体として機能しな
> くなる場合がありうる状態です。
> 
> 対応の方、よろしくお願いいたします。
> 
> -----------------------------------------------------
> 〒305-8568 
> 茨城県つくば市梅園1-1-1 つくば中央第2  本部情報棟 3204室
> 独立行政法人 産業技術総合研究所
>  知能システム研究部門 ヒューマノイド研究グループ
> 
>    中島 裕介 (Yusuke Nakajima)
> 
>  TEL: 029-861-5080(内線55267)
>  mailto: y.nakajima @ aist.go.jp
> -----------------------------------------------------
>
-------------- next part --------------
文字コード指定の無い添付文書を保管しました...
名前: errorlog.txt
URL:  <http://www.openrtm.org/pipermail/openrtm-users/attachments/20091030/b33193d5/attachment-0001.txt>


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