Barthel, Marco (Marco)
2008-11-27 17:44:59 UTC
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 | ***@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
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 | ***@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