On the 0x223 day of Apache Harmony Geir Magnusson, Jr. wrote:
> Gregory Shimansky wrote:
> > Geir Magnusson Jr. wrote:
> >>
> >>
> >> Gregory Shimansky wrote:
> >>>>
> >>> -Xss is the lower stack limit, it doesn't specify the maximum
> >>> stack size, doesn't it?
> >>
> >> What does "lower stack limit" mean? :)  I think that it's the size
> >> of the stack, max.
> > I thought it is a starting stack size, like -Xms for heap size. Now
> > that I searched the web it appears that it is the maximum indeed.
> 
> "0" is minimum stack size.
> 
> >
> >> I think all you need to do then is set the stack size :
> >>
> >>    ulimit -s 8192
> >>
> >> or something.  We should probably do this before each run on linux
> >> so that things are well defined and reproducible.
> > I think 64-bit SuSE9 is just the only weird distribution which
> > doesn't have this limit. In 10th version they fixed this. So ulimit
> > -s is not necessary in most cases.
> 
> But harmless.  And it makes the test predicable across platforms.  and
> if the StackSize test is forked, we can make it small to make it
> quick...

I know nothing about forking Java processes. Does it make sense?
Secondly, fork() is fast regardless of the stack size (stacks are COW).
 
> > I'd still like to have a recursion limit in StackTest but Rana has
> > convinced me that no SOE shouldn't mean that test has failed. I'll
> > patch it now.
> >
> 
> I agree that your fix is utterly bogus :) but we want to test SOE
> machinery, so I think that we should set the ulimit to ensure an
> environment in which the SOE will happen if DRLVM is working
> right. Therefore, we need to set things up such that not getting an
> SOE is indeed a failure.

What a user would most likely expect on a system with no stack limit?
Something like on the other systems with stack limit as in
run-anywhere concept. And that would be SOE, not swapping.  So, let's
limit the stack by, say, 10M if not set with an option. We can
implement the option later.

-- 
Egor Pasko

Reply via email to