harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elena Semukhina" <elena.semukh...@gmail.com>
Subject Re: [drlvm][stacks] How large is stack size limit?
Date Wed, 13 Dec 2006 10:40:12 GMT
On 12/11/06, Geir Magnusson Jr. <geir@pobox.com> wrote:
>
> So there really are two issues here, that I can see :
>
> 1) SOE test should be fixed - if the thing throws an SOE, it passes.  If
> it does something else, it fails (unless the number is too small... in
> which case the test should probably log it, double and try again...)
>
> 2) predictable and settable stack size.  This is something completely
> different, and we should have a separate test for it.


As Pavel wrote, DRLVM does not support setting stack size limit on start-up
currently. Do you mean that this should be added to the DRLVM TODO tasks?

Elena

geir


Pavel Afremov wrote:
> FYI
>
> Stack size doesn't depend on -Xss  setting now. DRLVM doesn't support it.
>
> Also DRLVM doesn't crash on the test, it throws SOE.
>
>
>
> Pavel.
>
> On 11 Dec 2006 21:34:31 +0600, Egor Pasko <egor.pasko@gmail.com> wrote:
>>
>> On the 0x23C day of Apache Harmony Elena Semukhina wrote:
>> > On 12/11/06, Pavel Afremov <pavel.n.afremov@gmail.com> wrote:
>> > >
>> > > Elena,
>> > >
>> > >
>> > >
>> > > You wrote:
>> > >
>> > >   RI*: 3689
>> > >
>> > >
>> > >
>> > > It's mean that test is failed on RI, isn't it?
>> > >
>> > > So 7000 isn't correct for RI. Let's change it to 3000. And test
>> start's
>> > > pass
>> > > on our VM.
>> >
>> >
>> > It will fail in the interpreter mode :(.
>> >
>> > Since this functionality depends on implementation, the test may pass
>> here
>> > and fail there.
>> > I'd like to hear from DRLVM gurus that e.g. the test is incorrect
>> because
>> > the stack size limit in the DRLVM is restricted to some value which
>> cause
>> > StackOverflowError and the correct number in the test should be XXX. I
>> know
>> > that 200 is acceptable :) but should it be larger?
>>
>> stack size limit in DRLVM depends on:
>> * mode (opt/jet/int)
>> * -Xss (default) setting
>> * the test itself and current set of optimizations like inlining
>> heuristics which are subject to constant change
>>
>> the question is: do we want a test that would fail often due to
>> various (valid) configuration changes in DRLVM? I think, no. Though,
>> it makes sense to create a stress test with intensive stack usage, on
>> which we should not crash.
>>
>> > Elena
>> >
>> > Pavel.
>> >
>> >
>> > On 12/11/06, Elena Semukhina <elena.semukhina@gmail.com> wrote:
>> > >
>> > > Pavel,
>> > >
>> > > what is incorrect in the test?
>> > >
>> > > It passes on windows on IBM VME and JRockit. As for the magic number
>> 7000,
>> > > I
>> > > think the author of the test considered it quite satisfactory . In
>> the
>> > > comments to the test he wrote that an alternative java craches with
>> > > 200000:).
>> > >
>> > > The JVM Spec reads:
>> > > * If the computation in a thread requires a larger Java virtual
>> machine
>> > > stack than is permitted, the Java virtual machine throws a
>> > > StackOverflowError.
>> > >
>> > > So throwing StackOverflowError is legal and the stack size limit
>> depends
>> > > on
>> > > implementation. The question is whether the test has to pass on the
>> > > current
>> > > DRLVM implementation. If it fails legally, then we should fix the
>> test
>> so
>> > > that it reflects the status quo.
>> > >
>> > > Thanks,
>> > > Elena
>> > >
>> > > On 12/11/06, Pavel Afremov <pavel.n.afremov@gmail.com> wrote:
>> > > >
>> > > > I think that test is invalid. It doesn't pass on windows RI , so ┘
>> no
>> > > > comments. Also it is not clear why depth should be 7000. I can find
>> this
>> > > > magic value in any spec.
>> > > >
>> > > > Pavel Afremov.
>> > > >
>> > > >
>> > > >
>> > > > On 12/11/06, Elena Semukhina <elena.semukhina@gmail.com> wrote:
>> > > > >
>> > > > > Hello all,
>> > > > >
>> > > > > The smoke test stress.Stack fails with StackOverflowError on
>> Windows
>> > > and
>> > > > > linux/INT. It passes only on linux/JIT now.
>> > > > > The test algorithm is simple: a method calls itself recursively
>> for
>> > > 7000
>> > > > > times. The test fails if StackOverflowError is thrown.
>> > > > >
>> > > > > The following are the numbers of iterations before the test
>> fails:
>> > > > >
>> > > > > Windows:
>> > > > > INT: 353
>> > > > > JET: 3963
>> > > > > OPT: 32264
>> > > > > RI*: 3689
>> > > > >
>> > > > > Linux:
>> > > > > INT: 587
>> > > > > JET: 7762
>> > > > > OPT: 72105 (!!!)
>> > > > > RI*: 61837
>> > > > >
>> > > > > *RI is Java(TM) 2 Runtime Environment, Standard Edition (build
>> > > > > 1.5.0_08-b03
>> > > > > ).
>> > > > >
>> > > > > Are these numbers expected? Are there any restrictions on stack
>> size
>> > > in
>> > > > > DRLVM?
>> > > > >
>> > > > > --
>> > > > > Thanks,
>> > > > > Elena
>> > > > >
>> > > > >
>> > > >
>> > > >
>> > >
>> > >
>> > > --
>> > > Thanks,
>> > > Elena
>> > >
>> > >
>> >
>> >
>> >
>> >
>> >
>> > --
>> > Thanks,
>> > Elena
>>
>> --
>> Egor Pasko
>>
>>




-- 
Thanks,
Elena
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message