+1 to both

On 12/11/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> 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.

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 <[EMAIL PROTECTED]> wrote:
>>
>> On the 0x23C day of Apache Harmony Elena Semukhina wrote:
>> > On 12/11/06, Pavel Afremov <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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
>>
>>

Reply via email to