[omniORB] exceptions during up-call to python servant

Duncan Grisby duncan at grisby.org
Fri Apr 30 18:43:12 BST 2004


On Monday 19 April, Luke Deller wrote:

> If my servant causes a CORBA SystemException to be raised (eg by 
> performing a problematic CORBA method call), then the SystemException is 
> simply propagated.  When there is a deep stack of CORBA method calls, 
> the exception is propagated all the way to the top without any traceback 
> or log message of any kind to help me find which servant caused the 
> problem.  (Is this propagation behaviour dictated by the CORBA spec?)

Such propagation is required by the CORBA spec. I have written plenty
of code that makes use of it.

[...]
> [ It seems to me that it could be implemented in omniORBpy by modifying 
> the five pieces of code which call omniPy::produceSystemException so 
> that they pass the unexpected exception+traceback to that function, 
> which could then log the traceback before producing the SystemException ]

I have checked in your suggested modifications, except that I made the
level at which system exceptions have tracebacks printed traceLevel 10
rather than 2. As I say, it's quite normal for servant code not to
catch system exceptions so they are propagated.

Thanks for the contribution. Printing tracebacks for unexpected user
exceptions is something I've been intending to do for a while, but you
saved me the effort.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list