[omniORB] HELP..!!!!client Request hangs on the server (seems to be deadloc ked) running as a task on PowerPC

Duncan Grisby duncan@grisby.org
Wed Aug 14 14:34:02 2002


On Tuesday 13 August, Sheshi Sankineni wrote:

> This message is in MIME format. Since your mail reader does not understand
> this format, some or all of this message may not be legible.

Please don't send HTML email to the omniORB mailing list.

[...]
> In the beginning I ran into SIGSEGV when trying to resolve the RootPoa. I
> was getting SIGSEGV consistently in the omni_tracedmutex::lock()during
> initialization of the ORB.
> 
> What I noticed was in that method, there is a local variable sync declared
> as follows
> 
> omni_mutex_lock sync(pd_lock);
> 
> I changed this to a heap variable as follows
> 
> omni_mutex_lock* sync = new omni_mutex_lock(pd_lock); // sheshi

That's why you're getting the hang!  omni_mutex_lock has to be created
on the stack -- it's purpose it to acquire the mutex when it is
created, and release it when it goes out of scope. By putting it on
the heap, you've made sure the mutex is never unlocked.

You need to track down why the segfault is happening in the lock
code. Randomly changing bits of code you don't understand isn't going
to help.

Cheers,

Duncan.

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