[omniORB] omniORBpy and apache/mod_python: ORB_init gets stuck

Duncan Grisby dgrisby@uk.research.att.com
Wed, 24 May 2000 11:45:06 +0100


On Wednesday 24 May, Juri Pakaste wrote:

> Things work nicely when working from the command line; however, when
> my script is being executed by mod_python, it gets stuck on the first
> line that tries to access the ORB:
> 
> orb = CORBA.ORB_init([], CORBA.ORB_ID)

I suspect that the problem is something to do with threads, but I
can't be sure. My guess is that the failed assertion when you try to
kill it is actually an artifact of the way Apache tries to do the
kill, rather than an actual bug.

To help track the problem down, I have two suggestions. First, turn
lots of tracing on in omniORB:

orb = CORBA.ORB_init(["foo", "-ORBtraceLevel", "30", "-ORBtraceInvocations"],
                     CORBA.ORB_ID)

(the first argument is needed since omniORB ignores argv[0], expecting
it to be the program name.)

That may print some useful debugging output to stderr.

The other thing to do is to attach a debugger to the stuck process, to
figure out what it's up to when it freezes. Once you're in the
debugger, you'll have to pick the thread which is calling ORB_init().

Hope that helps,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --