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

Steffen Wittmeier steffen.wittmeier @ in.tum.de
2010年 4月 8日 (木) 23:43:31 JST


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

-- 
Steffen Wittmeier
Lehrstuhl für Informatik VI
Technische Universität München
Boltzmannstraße 3, 85748 Garching

Telefon : +89 289-18100
Telefax : +89 289-18107
E-Mail  : steffen.wittmeier @ in.tum.de
Internet: http://www6.in.tum.de/

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




openrtm-users メーリングリストの案内