<div dir="ltr"><div><div>産総研の服部です。<br><br>version1.1.1をリポジトリのソースコードからLinuxにインストールして、使用しています。<br><br></div>choreonoidで、シミュレーションを行っているのですが、コンポーネントの作成、削除を何度か繰り返すと、<br>コンポーネントの作成時に、以下のようなエラーが起きます。<br><br>choreonoid: ../../../src/lib/coil/include/coil/Factory.h:293: AbstractClass* coil::Factory<AbstractClass, Identifier, Compare, Creator, Destructor>::createObject(const Identifier&) [with AbstractClass = RTC::ExecutionContextBase; Identifier = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Creator = RTC::ExecutionContextBase* (*)(); Destructor = void (*)(RTC::ExecutionContextBase*&)]: アサーション `m_objects.count(obj) == 0' に失敗しました。<br><br></div>RTObject.cppのソースコードを拝見しますと、<br><div><div><br>ExecutionContextの作成時には<br><br>ReturnCode_t RTObject_impl:: createContexts(std::vector<coil::Properties>& ec_args)  の中で、<br><br>ec = RTC::ExecutionContextFactory::instance().createObject(ec_type.c_str());<br><br>としていますが、<br><div><div class="gmail_extra"><br>削除時には<br><br>void RTObject_impl::finalizeContexts()  の中で、<br><br>delete m_eclist[i];<br><br>としています。<br><br>これは、<br>RTC::ExecutionContextFactory::instance().deleteObject(m_eclist[i]);<br>としなくていいのでしょうか。<br><br><br></div></div></div></div></div>