Bug 2909

Summary: Exception returned to client when making collocated AMI call
Product: TAO Reporter: Johnny Willemsen <jwillemsen>
Component: AMIAssignee: Johnny Willemsen <jwillemsen>
Status: RESOLVED FIXED    
Severity: major CC: hans.utz
Priority: P3    
Version: 1.5.7   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 2806    

Description Johnny Willemsen 2007-04-23 13:18:06 CDT
When a collocated AMI call is made and the servant throws an exception, this is returned to the client instead of a call to the _excep method of the reply handler
Comment 1 Johnny Willemsen 2007-04-23 13:18:26 CDT
added blocks
Comment 2 Johnny Willemsen 2007-04-24 04:26:26 CDT
added cc
Comment 3 Johnny Willemsen 2007-04-24 04:33:58 CDT
no reproducer yet, first have to make a test program. Test should test for exception and not excepted exceptions (which should be converted to unknown)
Comment 4 Johnny Willemsen 2007-04-24 13:37:40 CDT
mine, first will work on a regression
Comment 5 Johnny Willemsen 2007-04-26 08:35:55 CDT
Thu Apr 26 13:22:12 UTC 2007  Johnny Willemsen  <jwillemsen@remedy.nl>

        * tests/Bug_2909_Regression/*:
          New regression for bug 2909. This bug is not fixed yet, just adding
          the test to the repo. This test works perfect with collocation
          disabled (using -ORBCollocation no or -ORBAMICollocation no) but
          fails when using a collocated AMI call
Comment 6 Johnny Willemsen 2007-04-26 08:36:06 CDT
accept
Comment 7 Johnny Willemsen 2007-04-27 06:54:08 CDT
In TAO::Upcall_Wrapper::upcall we need to always catch C++ exceptions and call also the cac in case of a C++ exception. The cac then decides whether it must be thrown again or not. When interceptors are enabled we do also catch C++ exceptions, but without interceptors we don't. The overhead for the case where we don't have a cac should be minimal, looks like we need to refactor the upcall wrapper a little bit. Did some quick fix changes to test this approach, it works but needs more cleanup and refactoring before it can go into the repo.
Comment 8 Johnny Willemsen 2007-05-01 04:02:18 CDT
Changes to fix this are ready, need a last review and then can go into the repo when x.5.8 is ready.
Comment 9 Johnny Willemsen 2007-05-02 09:04:42 CDT
changes are in the repository, going to wait a full build/test cycle to see if the regression now works on all platforms and that it doesn't have huge impact on footprint/performance.
Comment 10 Johnny Willemsen 2007-05-03 02:26:50 CDT
fixed, see the link for the test result graph

http://remedy.nl/test_stats/get_test_histgraph?test_id=1689&period=last_quarter&blowup=true