[omniORB] omniORB 4.1.x and Microsoft VC7.1 compiler

Barthel, Marco (Marco) mbarthel at avaya.com
Thu Nov 27 12:44:16 GMT 2008


Hi,
 is anybody out there using omniORB 4.1.3 and microsoft's VC7.1 compiler?
We are experiencing problems when counting the reference via functions like
 
ABSORB_API void ABSORB_IncRef(PortableServer::Servant servant);
ABSORB_API void ABSORB_DecRef(PortableServer::Servant servant);

somehow the compiler seems to generate incorrect code (looks like a problem with multiple inheritence)
 
There are two occurences of "omniServant" one of it is corrupted/strange.
 
-marco
 
 
Object layout (in debugger)
 
...
- POA_observation::Observer {...} POA_observation::Observer
- observation::_impl_Observer {...} observation::_impl_Observer
- omniServant {pd_activations={start=0x074a9b60 finish=0x074a9b64 end_of_storage=0x074a9b64 } } omniServant
- __vfptr 0x02f2d9b4 const LNADisconnectObserver::`vftable'{for `omniServant'} *
 [0] 0x021dfea0 LNADisconnectObserver::`vector deleting destructor' *
 [1] 0x021dfde0 observation::_impl_Observer::_ptrToInterface *
 [2] 0x021dfdf0 PortableServer::ServantBase::_downcast *
 [3] 0x021dfe00 observation::_impl_Observer::_mostDerivedRepoId *
 [4] 0x022200a8 omniServant::_is_a *
 [5] 0x022200a2 omniServant::_non_existent *
 [6] 0x021dfe10 PortableServer::ServantBase::_do_get_interface *
 [7] 0x021dfe20 observation::_impl_Observer::_dispatch *
 [8] 0x021dfe30 PortableServer::ServantBase::_add_ref *
 [9] 0x021dfe40 PortableServer::ServantBase::_remove_ref *
+ pd_activations {start=0x074a9b60 finish=0x074a9b64 end_of_storage=0x074a9b64 } omnivector<omniObjTableEntry *>
+ __vfptr 0x02f2d9a4 const LNADisconnectObserver::`vftable'{for `observation::_impl_Observer'} *
- PortableServer::ServantBase {_pd_refCount=1 } PortableServer::ServantBase
- omniServant {pd_activations={start=??? finish=??? end_of_storage=??? } } omniServant
- __vfptr CXX0030: Error: expression cannot be evaluated *
 [0] CXX0030: Error: expression cannot be evaluated *
 [1] CXX0030: Error: expression cannot be evaluated *
 [2] CXX0030: Error: expression cannot be evaluated *
 [3] CXX0030: Error: expression cannot be evaluated *
 [4] CXX0030: Error: expression cannot be evaluated *
 [5] CXX0030: Error: expression cannot be evaluated *
 [6] CXX0030: Error: expression cannot be evaluated *
 [7] CXX0030: Error: expression cannot be evaluated *
 [8] CXX0030: Error: expression cannot be evaluated *
 [9] CXX0030: Error: expression cannot be evaluated *
+ pd_activations {start=??? finish=??? end_of_storage=??? } omnivector<omniObjTableEntry *>
+ __vfptr 0x02f2d994 const LNADisconnectObserver::`vftable'{for `PortableServer::ServantBase'} *
 _pd_refCount 1 int

...  

Marco Barthel | Comergo GmbH | Heilbronner Str. 314 | 70469 Stuttgart | Voice +49 711 13586 42 | Fax +49 711 13586 8042 | marco.barthel at comergo.com

Sitz der Gesellschaft: Stuttgart
Registergericht: Amtsgericht Stuttgart - HRB 22107
Geschäftsführer: Dr. Oliver Lohfert, Dr. Josef Breitenlechner

 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20081127/ccf28e2a/attachment.htm


More information about the omniORB-list mailing list