[openrtm-users 01184] Shutdown of manager and cleanup of components

2 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 4日 8時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01184] Shutdown of manager and cleanup of components

Hi,

the Manager.cpp patch 01149 (see below) solved some of our shutdown
bugs. However, as my colleague Michael Jäntsch already pointed out, we
still have problems with the shutdown of the manager and the correct
exiting of the individual components where we really need some support.
The problems are:

1) Manager shutdown
When calling manager->shutdown() at the end of the main application
without calling exit() on the component and cleanupComponents() on the
manager the application exits without errors. However, the shutdown
method of the manager only calls exit() on the components but never
calls cleanupComponents() and hence the destructors of the components
are never called. Maybe you can provide a fix here. Calling exit() and
cleanupComponents() manually before manager->shutdown() results in a
segmentation fault!!! Calling these methods from a gui component and not
from main does not cause a segmentation fault.
Is this a known bug?

2) Deletion of servants that are still activated
By calling exit() on a component and subsequent cleanupComponents() from
a gui thread, we get the error:
omniORB: ERROR -- A servant has been deleted that is still activated.
id: root<6> (active)
omniORB: Assertion failed. This indicates a bug in the application
using omniORB, or maybe in omniORB itself.
file: ../../../../../src/lib/omniORB/orbcore/omniServant.cc
line: 222
info: activation_found

This error only occurs when we register a provider port in the
component. When removing the provider port it works without problems. I
should add that this problem only occurs for one of our components -
however, we can not find any differences between the components and
hence it is a riddle to us what causes this error. Maybe you can provide
some ideas?

3) Not all threads are terminated when shutting down the Manager
As my colleague already described in mail 01182, we have the problem
that two threads are still running after shutting down the manager. Is
that an internal problem? Do you have an idea how to solve this problem?

Many thanks in advance,
Steffen Wittmeier

未定義
root
オフライン
Last seen: 4日 8時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01198] Shutdown of manager and cleanup of compo

Dear Steffen

I'm sorry for my late reply, and thank you for your detailed investigation.
We have added these problems to bug tracking database.
Please wait for a while.

Best regards,
Noriaki Ando

2010/4/8 Steffen Wittmeier :
> Hi,
>
> the Manager.cpp patch 01149 (see below) solved some of our shutdown bugs.
> However, as my colleague Michael Jäntsch already pointed out, we still have
> problems with the shutdown of the manager and the correct exiting of the
> individual components where we really need some support. The problems are:
>
> 1) Manager shutdown
> When calling manager->shutdown() at the end of the main application without
> calling exit() on the component and cleanupComponents() on the manager the
> application exits without errors. However, the shutdown method of the
> manager only calls exit() on the components but never calls
> cleanupComponents() and hence the destructors of the components are never
> called. Maybe you can provide a fix here. Calling exit() and
> cleanupComponents() manually before manager->shutdown() results in a
> segmentation fault!!! Calling these methods from a gui component and not
> from main does not cause a segmentation fault.
> Is this a known bug?
>
> 2) Deletion of servants that are still activated
> By calling exit() on a component and subsequent cleanupComponents() from a
> gui thread, we get the error:
> omniORB: ERROR -- A servant has been deleted that is still activated.
>      id: root<6> (active)
> omniORB: Assertion failed.  This indicates a bug in the application
> using omniORB, or maybe in omniORB itself.
>  file: ../../../../../src/lib/omniORB/orbcore/omniServant.cc
>  line: 222
>  info: activation_found
>
> This error only occurs when we register a provider port in the component.
> When removing the provider port it works without problems. I should add that
> this problem only occurs for one of our components - however, we can not
> find any differences between the components and hence it is a riddle to us
> what causes this error. Maybe you can provide some ideas?
>
> 3) Not all threads are terminated when shutting down the Manager
> As my colleague already described in mail 01182, we have the problem that
> two threads are still running after shutting down the manager. Is that an
> internal problem? Do you have an idea how to solve this problem?
>
>
> Many thanks in advance,
> Steffen Wittmeier
>
> On 03/10/2010 06:14 AM, kurihara shinji wrote:
>> Hello,
>>
>> Please try to apply the patch attached to the mailing list "[openrtm-users
>> 01149]".
>>   or
>> Please check out the source of the latest version from the following
>> repositories.
>>
>>
>> http://openrtp.jp/openrtm/svn/OpenRTM-aist/branches/RELENG_1_0/OpenRTM-aist
>>
>>
>> Regards,
>> Shinji Kurihara
>
>
>

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2209
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク