Our 64 bit implementations of the JVM on Windows uses Vectored Exceptions.
This causes a conflict if the Windows OS code or native libraries want to
use Structured Exceptions.
We recently worked around a bug that was caused by the fact that Windows
uses SEH in it's implementation of malloc. They expected to get delivered
an exception in certain rare cases but we'd instead get notified in our
VEH and terminate the program with a fatal error.
We worked around this bug 5040096 by passing control to Windows
if an access violation is generated in NTDLL but this is not a
The main reason we chose VEH was the fact that Windows could not handle
dynamically generatred code during structured exception processing.
We assumed that noone else would want to get control on access violations.
The fix to this problem is to stop using Vectored Exceptions and register
all dynamically generated code with Microsoft RtlInstallFunctionCallback
or RtlAddFunctionTable APIs. This will allow us to register our
exception handler for our code and allow Windows to dispatch exception
to native code that used try/except blocks.
###@###.### 11/3/04 16:54 GMT