harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Fedotov" <alexei.fedo...@gmail.com>
Subject Re: [drlvm][classlib unit tests] iterative runs
Date Fri, 24 Nov 2006 00:35:15 GMT
Gregory, Ivan,
Thank you for a deep and thorough research on Windows architecture,
and a wonderful result. Keep doing great things!
With best regards,

On 11/24/06, Gregory Shimansky <gshimansky@gmail.com> wrote:
> On Wednesday 22 November 2006 03:02 Alexei Fedotov wrote:
> > Tatiana,
> > That's great! Feel free to file JIRA issues about new problems.
> >
> > This is quite interesting that you haven't discovered
> > org.apache.harmony.logging.tests.java.util.logging.SocketHandlerTest
> > failure using effectively the same revision as I.  This makes me think
> > that my problems can be local to my computer.
> The problem with this test appeared to be a regression after HARMONY-2006.
> DRLVM started to halt of all unknown exceptions passing to VEH handler
> when -Dvm.assert_dialog=true. This is quite wrong thing to do because VEH
> handler is called in case of C++ exceptions too.
> Also it appeared that windows kernel uses exceptions inside of itself, so VEH
> handler is called for some API functions which return an error, like in case
> of SocketHandlerTest. Previous to HARMONY-2006 [1] VM didn't react to any
> unknown codes, just returned EXCEPTION_CONTINUE_EXECUTION from the handler.
> Now it started to call DebugBreak in case when
> UnhandledExceptionFilter(nt_exception) == EXCEPTION_CONTINUE_SEARCH.
> Ivan offered a quick fix in HARMONY-2285, which calls this function only if
> IS_ERROR [2] macro returns true for the exception code. The fix helped, and
> now in interactive test runs when -Dvm.assert_dialog=true (default) tests
> pass just as well as in non-interactive mode.
> I am still a bit unsure, why mess around with unknown exception codes, maybe
> it is better to return EXCEPTION_CONTINUE_SEARCH always, and the debugging
> dialog will be open by the default NT handler.
> [1]
> http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/win/ia32/nt_exception_filter.cpp?p2=%2Fincubator%2Fharmony%2Fenhanced%2Fdrlvm%2Ftrunk%2Fvm%2Fvmcore%2Fsrc%2Futil%2Fwin%2Fia32%2Fnt_exception_filter.cpp&p1=%2Fincubator%2Fharmony%2Fenhanced%2Fdrlvm%2Ftrunk%2Fvm%2Fvmcore%2Fsrc%2Futil%2Fwin%2Fia32%2Fnt_exception_filter.cpp&r1=476183&r2=476182&view=diff&pathrev=476183
> [2]
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/html/74497f4b-1c88-4c8a-b9e7-606e77364f48.asp
> --
> Gregory

View raw message