[omniORB] assert on proxyObjectFactory failed

Duncan Grisby duncan at grisby.org
Thu Sep 6 17:27:07 BST 2007


On Thursday 6 September, Mircea Gherzan wrote:

> I'm having trouble (on the client) narrowing the right object reference.
> It seems that the OMNIORB_ASSERT right after proxyObjectFactory::lookup
> fails (omniInternal.cc). The calling code is located in the
> __constructor__ function of a shared library, loaded at startup, NOT
> with dlopen.

Where are the CORBA stubs for the types you are using?  The problem is
that the stubs containing the proxy object factories have not been
loaded by the time your code tries to narrow an object reference. If the
stubs are in the same shared library as your constructor code, the C++
runtime has clearly decided to execute your constructor before it runs
the C++ static initalisers that set up the factories.

I'm not sure what to suggest, other than to defer whatever you're doing
until after the shared library is completely loaded. Trying to do
anything non-trivial at library load time is fraught with dependency
difficulties.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list