[omniORB] omniORBpy deadlock / termination problem.

Duncan Grisby duncan at grisby.org
Fri Sep 19 17:04:06 BST 2003


On Monday 15 September, Harri Pasanen wrote:

> However, at exit my script hangs, as some threads are left running.   
> I've narrowed it down to the fact that cxxObjRefToPyObjRef() calls 
> ORB_Init() again, when the orb has already been initialized by the 
> C++.
> 
> There seems to be a the scavenger/scan threads left running.

[...]
> As a test, If I modify cxxObjRefToPyObjRef()  not to call ORB_Init(), 
> and make sure I don't call it from Python either, then my python 
> program terminates ok.  

Hmm. Something is going wrong here. In omniORB, there is only ever one
ORB, so the call to ORB_init() in cxxObjRefToPyObjRef should get the
same ORB that's in use by the C++ world. Something bad has happened to
cause it to create another one, and I'm surprised things don't blow up
terribly as a result. There must be something odd going on with the
way the dynamic linker links things in.

What platform are you using?

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list