[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