Hi All,
After not being successful to simulate some parsec benchmarks in
APLHA_FS using inorder cpu, now I created checkpoints using
atomicSimpleCPU and then tried to restore with inorder cpu. I still get
the following assertion error:
gem5.opt: build/ALPHA/sim/simulate.cc:70: SimLoopExitEvent*
simulate(Tick): Assertion `curTick() <= mainEventQueue.nextTick() &&
"event scheduled in the past"' failed.
Program aborted at cycle 2262221921000
Aborted (core dumped)
I tried restoring using DeriveO3CPU and was successful. Why only inorder
cpu simulation gives lot of errors?
I am sure that kernel, disk img and even checkpoint directory being
pointed out correctly.
So, can anyone point me out what this assertion error means ?
Here are my build commands:-
* For original run and writing checkpoints
*build/ALPHA/gem5.opt configs/example/fs.py
--script=configs/boot/runscript_black.rcS -n 4*
For restoring checkpoint:
*build/ALPHA/gem5.opt --debug-flag=InOrderCPUAll,ExecAll
configs/example/fs.py --script=configs/boot/runscript_black.rcS -n 4 -r
1 --restore-with-cpu=inorder --caches*
And I enable InOrderCPUAll and ExecAll flags to see where its going
wrong in the trace.
Here is the debug trace:
gem5 Simulator System. http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.
gem5 compiled May 2 2013 19:44:53
gem5 started May 2 2013 20:42:34
gem5 executing on vinay-VPCEB46FG
command line: build/ALPHA/gem5.opt --debug-flag=InOrderCPUAll,ExecAll
configs/example/fs.py --script=configs/boot/runscript_black.rcS -n 4 -r
1 --restore-with-cpu=inorder --caches
Global frequency set at 1000000000000 ticks per second
info: kernel located at:
/home/vinay/gem5/full_system_images/alpha_images/binaries/vmlinux_2.6.27-gcc_4.3.4
Listening for system connection on port 3456
0: system.tsunami.io.rtc: Real-time clock set to Thu Jan 1
00:00:00 2009
0: system.cpu0.stage0: Set CPU pointer.
0: system.cpu0.stage0: Setting active threads list pointer.
0: system.cpu0.stage0: Setting time buffer pointer.
0: system.cpu0.stage0: Setting next stage pointer.
0: system.cpu0.stage1: Set CPU pointer.
0: system.cpu0.stage1: Setting active threads list pointer.
0: system.cpu0.stage1: Setting time buffer pointer.
0: system.cpu0.stage1: Setting previous stage queue pointer.
0: system.cpu0.stage1: Setting next stage pointer.
0: system.cpu0.stage2: Set CPU pointer.
0: system.cpu0.stage2: Setting active threads list pointer.
0: system.cpu0.stage2: Setting time buffer pointer.
0: system.cpu0.stage2: Setting previous stage queue pointer.
0: system.cpu0.stage2: Setting next stage pointer.
0: system.cpu0.stage3: Set CPU pointer.
0: system.cpu0.stage3: Setting active threads list pointer.
0: system.cpu0.stage3: Setting time buffer pointer.
0: system.cpu0.stage3: Setting previous stage queue pointer.
0: system.cpu0.stage3: Setting next stage pointer.
0: system.cpu0.stage4: Set CPU pointer.
0: system.cpu0.stage4: Setting active threads list pointer.
0: system.cpu0.stage4: Setting time buffer pointer.
0: system.cpu0.stage4: Setting previous stage queue pointer.
0: system.cpu1.stage0: Set CPU pointer.
0: system.cpu1.stage0: Setting active threads list pointer.
0: system.cpu1.stage0: Setting time buffer pointer.
0: system.cpu1.stage0: Setting next stage pointer.
0: system.cpu1.stage1: Set CPU pointer.
0: system.cpu1.stage1: Setting active threads list pointer.
0: system.cpu1.stage1: Setting time buffer pointer.
0: system.cpu1.stage1: Setting previous stage queue pointer.
0: system.cpu1.stage1: Setting next stage pointer.
0: system.cpu1.stage2: Set CPU pointer.
0: system.cpu1.stage2: Setting active threads list pointer.
0: system.cpu1.stage2: Setting time buffer pointer.
0: system.cpu1.stage2: Setting previous stage queue pointer.
0: system.cpu1.stage2: Setting next stage pointer.
0: system.cpu1.stage3: Set CPU pointer.
0: system.cpu1.stage3: Setting active threads list pointer.
0: system.cpu1.stage3: Setting time buffer pointer.
0: system.cpu1.stage3: Setting previous stage queue pointer.
0: system.cpu1.stage3: Setting next stage pointer.
0: system.cpu1.stage4: Set CPU pointer.
0: system.cpu1.stage4: Setting active threads list pointer.
0: system.cpu1.stage4: Setting time buffer pointer.
0: system.cpu1.stage4: Setting previous stage queue pointer.
0: system.cpu2.stage0: Set CPU pointer.
0: system.cpu2.stage0: Setting active threads list pointer.
0: system.cpu2.stage0: Setting time buffer pointer.
0: system.cpu2.stage0: Setting next stage pointer.
0: system.cpu2.stage1: Set CPU pointer.
0: system.cpu2.stage1: Setting active threads list pointer.
0: system.cpu2.stage1: Setting time buffer pointer.
0: system.cpu2.stage1: Setting previous stage queue pointer.
0: system.cpu2.stage1: Setting next stage pointer.
0: system.cpu2.stage2: Set CPU pointer.
0: system.cpu2.stage2: Setting active threads list pointer.
0: system.cpu2.stage2: Setting time buffer pointer.
0: system.cpu2.stage2: Setting previous stage queue pointer.
0: system.cpu2.stage2: Setting next stage pointer.
0: system.cpu2.stage3: Set CPU pointer.
0: system.cpu2.stage3: Setting active threads list pointer.
0: system.cpu2.stage3: Setting time buffer pointer.
0: system.cpu2.stage3: Setting previous stage queue pointer.
0: system.cpu2.stage3: Setting next stage pointer.
0: system.cpu2.stage4: Set CPU pointer.
0: system.cpu2.stage4: Setting active threads list pointer.
0: system.cpu2.stage4: Setting time buffer pointer.
0: system.cpu2.stage4: Setting previous stage queue pointer.
0: system.cpu3.stage0: Set CPU pointer.
0: system.cpu3.stage0: Setting active threads list pointer.
0: system.cpu3.stage0: Setting time buffer pointer.
0: system.cpu3.stage0: Setting next stage pointer.
0: system.cpu3.stage1: Set CPU pointer.
0: system.cpu3.stage1: Setting active threads list pointer.
0: system.cpu3.stage1: Setting time buffer pointer.
0: system.cpu3.stage1: Setting previous stage queue pointer.
0: system.cpu3.stage1: Setting next stage pointer.
0: system.cpu3.stage2: Set CPU pointer.
0: system.cpu3.stage2: Setting active threads list pointer.
0: system.cpu3.stage2: Setting time buffer pointer.
0: system.cpu3.stage2: Setting previous stage queue pointer.
0: system.cpu3.stage2: Setting next stage pointer.
0: system.cpu3.stage3: Set CPU pointer.
0: system.cpu3.stage3: Setting active threads list pointer.
0: system.cpu3.stage3: Setting time buffer pointer.
0: system.cpu3.stage3: Setting previous stage queue pointer.
0: system.cpu3.stage3: Setting next stage pointer.
0: system.cpu3.stage4: Set CPU pointer.
0: system.cpu3.stage4: Setting active threads list pointer.
0: system.cpu3.stage4: Setting time buffer pointer.
0: system.cpu3.stage4: Setting previous stage queue pointer.
warn: CoherentBus system.membus has no snooping ports attached!
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.fetch_seq_unit.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.icache_port.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.decode_unit.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.branch_predictor.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.fetch_buffer_t0.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.regfile_manager.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.agen_unit.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.execution_unit.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.mult_div_unit.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.dcache_port.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.graduation_unit.
0: system.cpu0.ResourcePool: Initializing resource:
system.cpu0.fetch_buffer_t1.
0: system.remote_gdb.listener: listening for remote gdb #1 on port 7001
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.fetch_seq_unit.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.icache_port.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.decode_unit.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.branch_predictor.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.fetch_buffer_t0.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.regfile_manager.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.agen_unit.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.execution_unit.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.mult_div_unit.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.dcache_port.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.graduation_unit.
0: system.cpu1.ResourcePool: Initializing resource:
system.cpu1.fetch_buffer_t1.
0: system.remote_gdb.listener: listening for remote gdb #2 on port 7002
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.fetch_seq_unit.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.icache_port.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.decode_unit.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.branch_predictor.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.fetch_buffer_t0.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.regfile_manager.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.agen_unit.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.execution_unit.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.mult_div_unit.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.dcache_port.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.graduation_unit.
0: system.cpu2.ResourcePool: Initializing resource:
system.cpu2.fetch_buffer_t1.
0: system.remote_gdb.listener: listening for remote gdb #3 on port 7003
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.fetch_seq_unit.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.icache_port.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.decode_unit.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.branch_predictor.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.fetch_buffer_t0.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.regfile_manager.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.agen_unit.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.execution_unit.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.mult_div_unit.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.dcache_port.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.graduation_unit.
0: system.cpu3.ResourcePool: Initializing resource:
system.cpu3.fetch_buffer_t1.
0: system.cpu0.ResourcePool: Registering Stats Throughout
Resource Pool.
0: system.cpu1.ResourcePool: Registering Stats Throughout
Resource Pool.
0: system.cpu2.ResourcePool: Registering Stats Throughout
Resource Pool.
0: system.cpu3.ResourcePool: Registering Stats Throughout
Resource Pool.
Switch at curTick count:10000
info: Entering event queue @ 2262221921000. Starting simulation...
gem5.opt: build/ALPHA/sim/simulate.cc:70: SimLoopExitEvent*
simulate(Tick): Assertion `curTick() <= mainEventQueue.nextTick() &&
"event scheduled in the past"' failed.
Program aborted at cycle 2262221921000
Aborted (core dumped)
Can anyone please point me out the error? Also, if this question is
redundant, pointing to some previous thread of this question would also
be helpful. Thank you.
--
Thanks and Regards,
*Vinay Gangadhar*
First Year Masters Student,
Computer Architecture,
Department of Electrical and Computer Engineering
[email protected]
[email protected]
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users