[omniORB] No ServantLocator postinvoke() following a marshalling error?

Chris Newbold cnewbold@laurelnetworks.com
Thu Dec 12 17:48:02 2002


With omniORB 4, it looks like we're not getting ServantLocator
postinvoke() calls for invocations that hit a marshaling error following
preinvoke(). In the tracing below we can see our preinvoke()
implementation completing successfully but once omniORB starts
unmarshaling the arguments CORBA::MARSHAL is thrown; postinvoke() is
never called. 

Is this expected behavior or is it a bug? I had understood that, if
preinvoke() completed successfully, postinvoke() would be called
unconditionally.

Dec 12 17:01:11.248511 npbd[347:365]: orb::VirtualServantLocator > preinvoke[0x794df8] oid: 3030 3030 3030 3035                       00000005 adapter: CORBA::Object operation: CreateAtmVpInterface cookie: 0x0
Dec 12 17:01:11.248533 npbd[347:365]: orb::VirtualServantLocator D Found tie using repoId: I
Dec 12 17:01:11.248596 npbd[347:365]: orb::VirtualServantLocator D Tie type appears to be: POA_atm::ManagedAtm_tie<atm::Interface>
Dec 12 17:01:11.248622 npbd[347:365]: orb::VirtualServantLocator < preinvoke[0x794df8] 0x6cd05c
Dec 12 17:01:11.248637 npbd[347:365]: orb::LockingServantLocator < preinvoke[0x794df8] 0x6cd05c
Dec 12 17:01:11.248796 npbd[347:365]: omniORB                   D omniORB: throw MARSHAL from LIfEncapsulation.hh:101 (NO,MARSHAL_InvalidEnumValue)

Dec 12 17:01:11.249835 npbd[347:365]: omniORB                   D omniORB: sendChunk: to giop:tcp:172.22.103.17:1227 68 bytes

-- 
====( Chris Newbold  <cnewbold@laurelnetworks.com> )==========================
      Laurel Networks, Inc. voice: +1 412 809 4200 fax: +1 412 809 4201
"If you fool around with a thing for very long you will screw it up." --Murphy
------------------------------------------------------------------------------