I faced that before. Thank to Ali, the problem is now fixed
You should modify two files:

1) src/sim/process.cc
you should find something like this:
  if (stack_base - stack_min > 8 * 1024 * 1024)
     fatal("Over max stack size for one thread\n");


2) src/arch/x86/process.cc
you should find two occurrence of this statement
    next_thread_stack_base = stack_base - (8 * 1024 * 1024);

Now change the right side from 8*1024*1024 to whatever you want.
32*1024*1024 is enough I think.

Hope that help

On 6/3/12, mingkai huang <huangming...@gmail.com> wrote:
> Hi,
> I am sorry to be too late to rely.
> I tracediffed the output of 8842 and 8841 and attached the output. I
> revised one place of the output format in 8841 to make the output more
> similar, but it seems the format changed a lot, and the diff may not
> be helpful. I also put a breakpoint, printed out the stack trace, and
> attached the output.
> This is the bzip2 and input I used:
> http://mail.qq.com/cgi-bin/ftnExs_download?k=0962383845ebe89e745811294262054e53570059515a0e041a555c0f544f0356540315015355534c0f530f01535253000556080a646b37034d0b480a4a105613375f&t=exs_ftn_download&code=7b88db7a
> Because of mail list size limitation, I use the qq large file attachment.
> Thanks!
>
> On Thu, May 17, 2012 at 6:49 AM, Steve Reinhardt <ste...@gmail.com> wrote:
>> Hi Mingkai,
>>
>> Can you run under gdb, put a breakpoint on this fatal statement (which is
>> in
>> Process::fixupStackFault() in sim/process.cc), print out the stack trace
>> when you hit it, and mail that to the list?
>>
>> I wonder if the new branch predictor is causing some different wrong-path
>> execution, and that we are erroneously calling fatal() on something that
>> looks like a stack fault but is actually a misspeculated instruction.
>>
>> Given that all the regressions pass, I doubt the new branch predictor is
>> actually changing the committed execution path.  That's why I think it
>> may
>> have something to do with a bug in how we handle misspeculation.
>>
>> If anyone knows the code well enough to say whether this seems likely or
>> unlikely, that would be helpful.
>>
>> Steve
>>
>>
>> On Wed, May 16, 2012 at 3:09 PM, Geoffrey Blake <bla...@umich.edu> wrote:
>>>
>>> Unfortunately the CheckerCPU does not work for x86 and is only
>>> verified as working on ARM. It needs some additional work to support
>>> the representation of machine instructions for x86.
>>>
>>> Geoff
>>>
>>> On Tue, May 15, 2012 at 7:43 AM, Gabe Black <gbl...@eecs.umich.edu>
>>> wrote:
>>> > The change may have made the branch predictor code behave incorrectly,
>>> > for instance an instruction could execute twice, a misspeculated
>>> > instruction could sneak through and commit, an instruction could be
>>> > skipped, a branch could be "corrected" to go down the wrong path.
>>> > There
>>> > are lots of things that could go wrong. Alternatively, the branch
>>> > predictor might have just gotten better and put more stress on some
>>> > other part of the CPU, or coincidentally lined up circumstances which
>>> > expose another bug. You should try to find where execution diverges
>>> > between O3 and the atomic CPU, possibly using tracediff or possibly
>>> > using the checker CPU. I'm not sure the checker works correctly with
>>> > x86, but if it does this is pretty much exactly what it's for.
>>> >
>>> > Gabe
>>> >
>>> > On 05/14/12 17:22, mingkai huang wrote:
>>> >> Hi,
>>> >> I tried to use gem5 to run SPEC2006 in x86 O3 mode. When I ran bzip2,
>>> >> it failed with:
>>> >> fatal: Over max stack size for one thread
>>> >> My command line is:
>>> >> build/X86/gem5.fast configs/example/se.py --cpu-type=detailed
>>> >> --caches
>>> >> -c bzip2 -o "input.program 5"
>>> >> The version of my gem5 is 8981.
>>> >> Bzip2 can run correctly in atomic mode.
>>> >> I binary searched where the problem happened first, and found version
>>> >> 8842. I noticed this patch is about branch prediction, and I don't
>>> >> understand why this can affect the correctness of an application.
>>> >> Before 8842, Bzip2 can run correctly in both mode, but the outputed
>>> >> numbers of "info: Increasing stack size by one page." are not equal.
>>> >> Because of email size limitation, I can't attached the file I used.
>>> >>
>>> >
>>> > _______________________________________________
>>> > gem5-users mailing list
>>> > gem5-users@gem5.org
>>> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>> _______________________________________________
>>> gem5-users mailing list
>>> gem5-users@gem5.org
>>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>>
>>
>>
>> _______________________________________________
>> gem5-users mailing list
>> gem5-users@gem5.org
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
>
>
> --
> Best regards,
> Mingkai Huang
>


-- 
// Naderan *Mahmood;
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to