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

2 posts / 0 new
Last post
root
Offline
Last seen: 4 days 21 hours ago
Joined: 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

Undefined
root
Offline
Last seen: 4 days 21 hours ago
Joined: 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
>
>
>

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK