OpenRTM / OpenRTM-aist

OpenRTM-aist: RT-Middleware and OMG RTC implementation in C++ implemented by AIST
https://openrtm.org/
Other
19 stars 12 forks source link

ポート接続時に動作を停止する #286

Closed Nobu19800 closed 4 years ago

Nobu19800 commented 5 years ago

Describe the bug 以下のように、PC1のRTSEからPC2のRTCのポートを接続する場合に、接続に失敗する場合がある。

error1

一度接続に失敗するとRTSEがフリーズして二度と復旧しない。

またRTSE以外から接続する場合についても、RTSEでRTC1、RTC2を操作していた場合、接続処理中に停止する。

コンポーネントオブザーバーを無効にした場合は発生しないため、PC2のRTCがPC1のRTSEに通知するところでブロックされて停止すると考えられる。

このため、コンポーネントオブザーバーを無効にすることが解決策ではあるが、OpenRTM-aist 1.2はバグによりコンポーネントオブザーバーを無効にできない。2.0は問題なし。

To Reproduce Steps to reproduce the behavior:

  1. 上記の図のようにPC1でRTSE、PC2でConsoleIn、ConsoleOutを起動する
  2. RTSEでConsoleIn、ConsoleOutのポートを接続する
  3. RTSEがフリーズする

Reproducibility

Expected behavior

Screenshots or Logs

Environment

Additional context

Nobu19800 commented 4 years ago

以下の理由により解決済みとしてissueを閉じます。