Thanks! I tried that, but it seems doing that can't fix this problem. The output of bzip2 going wrong is many "info: Increasing stack size by one page." followed by "fatal: Over max stack size for one thread". I think that bzip2 goes into a dead loop and increases the stack for ever. No matter how much stack size set, the stack will be running out.
On Sun, Jun 3, 2012 at 4:23 PM, Mahmood Naderan <mahmood...@gmail.com>wrote: > 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 > -- Best regards, Mingkai Huang
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users