[omniORB] omniORBpy and visual studio 7

Jan Olderdissen jan at ixiacom.com
Fri Jul 30 12:13:16 BST 2004


We decided to build a new C++/CORBA project in vs7. I had to compile
omniORB-4.0.3 against vs7 because the runtime DLL has incompatible memory
allocators. While it was somewhat tricky to figure out the build process,
the result seems to work fine.

The system will be used from a Python client. Running the binary
distribution of _omnipy.pyd against the omniORB403_rt.dll compiled for vs7
failed, so I decided to compile omniORBpy-2.3 against vs7 as well. Sadly,
the result is flaky. Every once in a while the most basic invocations crash
with "The instruction at '0x77fcda2f' referenced memory at '0x0000002c'. The
memory could not be 'read'."

The debugger points to a problem when freeing memory in msvcr71.dll.

I checked that both the servant and the python client use the same
omniORB403_rt.dll and omnithread30_rt.dll. 

The only potential problem that comes to mind is that python23.dll is _not_
compiled against vs7.

This is the python code that reproduces the crash:

------------------
server.ping ()
while 1:
    session = server.createSession ()
    session.ping ()
    session.release ()
------------------

createSession() creates a new object of type session on the C++ server and
returns an object reference to it. 

ping() outputs some text on the server's console.

release() deactivates the object on the C++ side.

Any pointers would be appreciated.

Jan

-------------------------------------
Jan Olderdissen <jan at ixiacom.com>
Principal Engineer
Ixia
26601 West Agoura Road
Calabasas, CA 91302
818-871-1800 x3143 818-871-1805 fax http://www.ixiacom.com



More information about the omniORB-list mailing list