[omniORB] Assertion i current.cc

Duncan Grisby duncan at grisby.org
Wed Jan 21 15:54:49 GMT 2004


On Tuesday 13 January, Jens =?iso-8859-1?q?B=E4ckman?= wrote:

> I just got an exception saying that either my application or omniORB
> might have a bug. Apparently, a check in
> src/lib/omniORB/omnicore/current.cc fails, and it seems like it's
> the destructor that hates me.
> 
> omniCurrent::~omniCurrent()
> {
>   OMNIORB_ASSERT(!pd_callDescriptor);
> }
> 
> Does anyone have any pointers to what might be going on here, and
> what I might be doing wrong in my code?

That's odd. I think the most likely cause is memory corruption. You
might try running your code under a checking tool like Purify or
Valgrind to see if it spots anything.

If the pd_callDescriptor member variable really is set (and not
corrupted), that suggests that an omniORB thread has exited in the
middle of doing a CORBA upcall. That could happen if your code tells
the thread to exit. If that is the problem, don't do it.

If those suggestions don't help, run your code under a debugger with
command line flags -ORBabortOnInternalError 1. That will abort on the
assertion failure so you can look at the stack trace. That might show
what's going on.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list