プロジェクト

全般

プロフィール

バグ #750

完了

RTObject_impl::detach_context の不具合

匿名ユーザー さんが約15年前に追加. 14年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2009/06/24
期日:
進捗率:

100%

予定工数:

説明

  • 現象:
    以下のような場合、id2のdetach_contextで落ちます。
    RTObjectMock* rto = new RTObjectMock(m_pORB, m_pPOA); // will be deleted automatically
    RTC::PeriodicExecutionContext* ec1 = new RTC::PeriodicExecutionContext(); // will be deleted automatically
    RTC::PeriodicExecutionContext* ec2 = new RTC::PeriodicExecutionContext(); // will be deleted automatically
    RTC::UniqueId id1 = rto->attach_context(ec1->_this());
    RTC::UniqueId id2 = rto->attach_context(ec2->_this());
    rto->detach_context(id1);
    rto->detach_context(id2);
  • 原因:
    detach_context()の最後で、CORBA_SeqUtil::erase(m_ecOther, index) で要素を消しています。
    eraseは要素を詰めるため、id がずれてしまい現象が発生します。

他の形式にエクスポート: Atom PDF