ダウンロード
最新バージョン : 2.1.0-RELESE
| 2.1.0-RELESE | ダウンロードページ |
OpenRTM@Github
OpenRTM-aist GitHubサイト
ROS
Robot Operating System
Choreonoid
モーションエディタ/シミュレータ
DAQ-Middleware
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
産総研が提供するRTC集
東京オープンソースロボティクス協会
| 2.1.0-RELESE | ダウンロードページ |
OpenRTM-aist GitHubサイト
Robot Operating System
モーションエディタ/シミュレータ
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
産総研が提供するRTC集
東京オープンソースロボティクス協会
産総研の清水です.
リングバッファにメモリの欄外参照を起こすバグが見付かりました.
修正パッチを作りましたので送ります.
場合によってはコンポーネント自体が落ちてしまうことがあるので,
早急な修正をお薦めいたします.
以下は問題の詳細です.
[問題]
リングバッファのm_newPtrの初期値が
バッファのlengthと同じになっており,
その場所はバッファの欄外である.
バッファのreadは,m_newPtrのアドレスを参照するため,
DataPortをRingBufferと共にregisterしたあと,
データのwriteが起こる前にreadを行うと,
メモリの欄外参照を引き起こす.
Fedoraの場合,RingBufferのメモリ領域は,
DataPortの直前に配置されるらしく,
RingBufferの欄外参照によってDataPortのメモリの
先頭領域が破壊されるため,Segmentation Fault
となってコンポーネント自体が落ちる.
[対応]
m_newPtrの初期値をlength-1とした.
清水