[omniORB] Release vs. Debug problem

Byerly_John John.Byerly@marconi.com
Thu, 24 Aug 2000 08:21:48 -0500


I can't figure it out!

[My environment is Windows NT 4.0 SP 5, omniORB 3.0.0 (with patch), VC++
6.0, application uses MFC and omniORB DLLs]

When I compile and run the release version of code similar to the following,
I get a memory access exception:

	MyProxy* pProxy = new MyProxy();
	pProxy->_this();

MyProxy is declared as follows:

	class MyProxy : public MyObject_i
	{
		...
	};

I can compile and run the debug version and everything is fine.

I was using the BOA implementation (in 2.7.1), so when I updated to 3.0.0, I
left it as it was.  Since encountering this problem, I have tried converting
to POA.  No effect.  I have tried changing my build settings for the release
version to match the settings for the debug version.  No effect.  I have
tried linking in the debug version of the omniORB libraries.  No effect.  I
have written a test program to try to reproduce and isolate the problem, but
I can't reproduce it in the test program.  I ran with Purify and go no help.
I set the trace level to 30 and got the following:

	omniORB: The omniDynamic library is not linked.
	omniORB: Initialising incoming rope factories.
	omniORB: strand Ripper: start.
	omniORB: scavenger : start.
	omniORB: strand Rope::incrRefCount: old value = 0
	omniORB: Activating: boa<0x39a514770000045a00000001>

followed by the crash:

	The instruction at "0x1001caea" referenced memory at "0x32c425ff".
The memory could not be "read".

I am out of ideas.

I don't know if this is enough information, but I would appreciate any help.

Thanks!

JAB