[omniORB] Incorrect behaviour handling exceptions in VC++ 7.1
Duncan Grisby
duncan at grisby.org
Tue Feb 10 17:04:42 GMT 2009
On Tuesday 3 February, Michael Kilburn wrote:
> I have discovered a fix in recent version of omniORB that is described as:
>
> Incorrect behaviour handling exceptions on VC++ 7.1 (bug number 2)
>
> Where can I find more detailed info on this, like:
> - what exactly is wrong with VC7.1?
> - which code change was made to workaround the problem?
The bug was reported to me directly, so there's no public report of it,
I'm afraid.
The problem is that VC++ 7.1 generates incorrect code for the code that
invokes operations. The old version of the code used continue within an
exception handler. That caused VC++ to generate invalid code so that if
an exception occurred, the runtime state was corrupted. The modified
version of the code uses a flag to represent the same condition, and
therefore does not trigger the VC++ bug. omniORB's code was correct --
the bug is in VC++.
If you want to see the details of the change, it's in CVS in the file
src/lib/omniORB/orbcore/omniObjRef.cc, between revisions 1.4.2.5 and
1.4.2.6.
Cheers,
Duncan.
--
-- Duncan Grisby --
-- duncan at grisby.org --
-- http://www.grisby.org --
More information about the omniORB-list
mailing list