+1 On the 0x23C day of Apache Harmony Rana Dasgupta wrote: > +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 > > >> > > >> > >
-- Egor Pasko
