harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgueni Brevnov" <evgueni.brev...@gmail.com>
Subject Re: [drlvm][classlib unit tests] iterative runs
Date Fri, 24 Nov 2006 05:43:41 GMT
On 11/24/06, Evgueni Brevnov <evgueni.brevnov@gmail.com> wrote:
> On 11/24/06, Gregory Shimansky <gshimansky@gmail.com> wrote:
> > Correction below
> >
> > Gregory Shimansky 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.
> >
> > It should have been "EXCEPTION_CONTINUE_SEARCH" in this text, I pasted a
> > wrong one from the code. This code was used to find a suitable handler
> > (or show the error window) for the received exception.
> >
> > > 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.
>
> Agree! It seems like a mess for me as well. The most clean approach is
> to return EXCEPTION_CONTINUE_SEARCH for any exception happened in a
> native code.

Ok, I was not 100% accurate here. We still need to handle
STATUS_STACK_OVERFLOW & JVMTI_EXCEPTION_STATUS.

I would suggest to fix the problem in this way instead of
> HARMONY-2285. Currently, the launcher installs its own exception
> handler which blocks default exception handler. So if we wish to have
> a debug dialog we need to disable launcher's handler somehow. Should
> we discuss it in a new thread?

>
>
> Thanks
> Evgueni
>
> > >
> > > [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
> >
> >
>

Mime
View raw message