In fact, if everything is correct, "int rid" should be OK since we use a 32-bit address. Although a memory request is like 0x80000000, rid is shifted right by some values, so that rid never can have a minus value. So, the fact that you had the error means something is wrong.
Fortunately, I was able to reproduce the exact same error with no the following configuration. Note that this is a wrong configuration since there is no GPU core. But, the code should be more robust, so we will fix this.. If the repeat trace is 0, the simulation is also fine.
Thanks,
Jaewoong
--------------------------------------------------------------------------------------
1. trace_file_list has 4 cpu + 1gpu apps
2. NO GPU cores & repeat traces
num_sim_cores 4
num_sim_small_cores 0
num_sim_large_cores 4
max_insts 200
repeat_trace 1
---
src/process_manager.cc:495: (I=200 C=5102072): thread_count:1
**Core 0 Thread 305 Finished: insts:200 cycles:638770 seconds:9 -- 0.00 IPC (0.00 IPC) -- N/A KHz (0.02 KHz)
src/process_manager.cc:433: (I=200 C=5110152): setup_process:1 /trace/x86/spec2006/trace_simpoint/mcf/pin_traces/mcf.1.txt current_index:0 (1)
src/process_manager.cc:495: (I=200 C=5110152): thread_count:1
src/dram.cc:343: ASSERT FAILED (I=200 C=5112030): rid >= 0
src/dram.cc:343: ASSERT FAILED (I=200 C=5112030): addr:802000ff cid:192 bid:6 rid:-
2145386241 type:IFETCH