Alexei,
  The1363 submission added  functionality for lazy exception support, for
exceptions in the VM code. exn_raise_by_name_internal was such a function.
This may not be bug free ( as is true of any code ) and we need to check out
2070. I will take a look, as should Pavel.
  I think that while committing 1363, StackTest failed and there were other
asserts, which Geir disabled to not block the large submission. This is not
really anything to do with lazy exceptions. This is an issue where parts of
the main thread's stack virtual memory are unmapped on Linux. I later added
a fix for this. The two issues are orthogonal to each other.

Rana



On 11/5/06, Fedotov, Alexei A <[EMAIL PROTECTED]> wrote:

Rana, Pavel (Afremov), All,

Geir's comment on r443504 (fix for
http://issues.apache.org/jira/browse/HARMONY-1363 [drlvm] Java 1.5, 64
bit support, JVMTI improvements) reads:

> 1) Stack overflow exception stuff is broken.  I had to remove the
assert
>    in signals_ia32.cpp line 336.  Rana knows and will look.  I also
>    disabled the StackTest.

I have noticed that the patch added a new function
exn_raise_by_name_internal which fails on the first invocation checking
an assertion about thread state, see
http://issues.apache.org/jira/browse/HARMONY-2070 [drlvm][unit]
org.apache.harmony.beans.tests.java.beans.PersistenceDelegateTest
crashes DRLVM.

I also have noticed that this function is called to create
java.lang.StackOverflowError.

Could you help me to understand the current status of the problem?

With best regards,
Alexei Fedotov,
Intel Java & XML Engineering

>-----Original Message-----
>From: Rana Dasgupta [mailto:[EMAIL PROTECTED]
>Sent: Wednesday, October 18, 2006 4:27 AM
>To: harmony-dev@incubator.apache.org
>Subject: Re: [drlvm] [testing] Excluding commit tests until the problem
is
>fixed
>
>I fixed the StackOverflow functionality problem by going back and
mapping
>all pages ( guard, alternate stack ) meticulously before trying to
protect
>them. I think we should have done this in the first place.  I also
cleaned
>up the previous initialization workarounds and asserts Geir and I had
>discussed on the JIRA. The Stacktest and all other stack related tests
now
>pass.
>
>I'll submit the patch against 1786 in the next few hours after running
>acceptance tests.
>
>Rana
>
>
>
>> On 10/16/06, Rana Dasgupta <[EMAIL PROTECTED]> wrote:
>> >
>> >
>> >
>> > On 10/16/06, Gregory Shimansky <[EMAIL PROTECTED]> wrote:
>> > >
>> > > On Tuesday 17 October 2006 00:01 Geir Magnusson Jr. wrote:
>> > > >> I tried to put some back.  StackTest still doesn't work.  It's
>hard
>> > > to
>> > > >> believe...   so I gave up and just kept going :)
>> > >
>> > > >I wonder if the test or the implementation are wrong. Maybe
someone
>> > > who added
>> > > >the test initially could know the answer.
>> >
>> >
>> >
>> >  There is nothing wrong with the stacktest test itself. The
>> > > implementation is not quite 100%complete( I think ), but has
enough
>> > > functionality and the test passes on Windows. On Linux, it fails.
I
>am not
>> > > sure if this is a regression, or if this ever worked. There is a
JIRA
>issue
>> > > 1786. In summary, memory protection setup for the guard page
fails on
>the
>> > > main thread(only). So the guard does not work and the overflow is
not
>> > > detected.
>> >
>> >
>> >    mprotect fails with an ENOMEM which is either a mapping failure
or a
>> > kernel failure. mprotect() has some known flakiness it seems, as
per
>> > literature.
>> >
>> >   The basic implementation on Linux is sound. There are secondary
>design
>> > issues,but we can only get to them later after we have figured out
why
>the
>> > guard setup fails on the main thread.
>> >
>> >
>> >
>> >
>>
>
>>
>>
>>
>>
>>

Reply via email to