Looks like this is a bug that has since been fixed.

In case anyone stumbles upon this: the problem is that in Event::getFlags(Flags _flags), the line

assert(flags.noneSet(~PublicRead));

should instead read

assert(_flags.noneSet(~PublicRead));

I.e. it should be checking whether the /argument /_flags are publicly readable rather than the stored flags. My own damn fault for not checking against the latest version in the repository. D'oh.

Hi,

I'm messing with some timing details on the L2 level in the r6819 build, but I'm evidently doing something wrong as I'm getting this assertion error when the event loop tries to exit:

m5.debug: build/ALPHA_SE/sim/eventq.hh:148: Flags<short int> Event::getFlags(Flags<short int>) const: Assertion `flags.noneSet(~PublicRead)' failed.

I dump()-ed the event in gdb:

Event Event_118 (simulation loop exit)
Flags: 0xf010
Created: 0
Not Scheduled

I also checked the cause of the event in gdb, and it's the "max insts reached" exit event that I was expecting:

(gdb) p ((SimLoopExitEvent*) this)->cause
$3 = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x1eb7b78 "a thread reached the max instruction count"}}

However, it can't get executed because of some of its flags are not set as expected. Here's a full stack trace:

#0  0x00007fdccb67ffb5 in raise () from /lib/libc.so.6
#1  0x00007fdccb681bc3 in abort () from /lib/libc.so.6
#2  0x00007fdccb678f09 in __assert_fail () from /lib/libc.so.6
#3 0x00000000008c5534 in Event::getFlags (this=0x1ecf8c8, _flags={_flags = 32}) at build/ALPHA_SE/sim/eventq.hh:148 #4 0x00000000008c5035 in SimLoopExitEvent::process (this=0x1ecf8c8) at build/ALPHA_SE/sim/sim_events.cc:59 #5 0x00000000005ae861 in EventQueue::serviceOne (this=0x1eb7b40) at build/ALPHA_SE/sim/eventq.cc:202 #6 0x000000000045f1e3 in EventQueue::serviceEvents (this=0x1eb7b40, when=3000000) at build/ALPHA_SE/sim/eventq.hh:358 #7 0x000000000051b6fa in FullO3CPU<O3CPUImpl>::instDone (this=0x1ecb6b0, tid=0) at build/ALPHA_SE/cpu/o3/cpu.cc:1406 #8 0x00000000004fd3ae in DefaultCommit<O3CPUImpl>::commitInsts (this=0x1ecdc20) at build/ALPHA_SE/cpu/o3/commit_impl.hh:911 #9 0x00000000004ff81d in DefaultCommit<O3CPUImpl>::commit (this=0x1ecdc20) at build/ALPHA_SE/cpu/o3/commit_impl.hh:794 #10 0x00000000005002a5 in DefaultCommit<O3CPUImpl>::tick (this=0x1ecdc20) at build/ALPHA_SE/cpu/o3/commit_impl.hh:598 #11 0x0000000000521a1f in FullO3CPU<O3CPUImpl>::tick (this=0x1ecb6b0) at build/ALPHA_SE/cpu/o3/cpu.cc:516 #12 0x0000000000522c83 in FullO3CPU<O3CPUImpl>::TickEvent::process (this=0x1ecb7b0) at build/ALPHA_SE/cpu/o3/cpu.cc:86 #13 0x00000000005ae861 in EventQueue::serviceOne (this=0xe00010) at build/ALPHA_SE/sim/eventq.cc:202 #14 0x00000000008cb128 in simulate (num_cycles=9223372036854775807) at build/ALPHA_SE/sim/simulate.cc:73 #15 0x000000000092af8d in _wrap_simulate__SWIG_0 (args=0x7fdcc9df6fd0) at build/ALPHA_SE/python/swig/event_wrap.cc:4156 #16 0x000000000092b0bf in _wrap_simulate (self=0x0, args=0x7fdcc9df6fd0) at build/ALPHA_SE/python/swig/event_wrap.cc:4206
(python wrappers omitted)

Any ideas what can could cause this?

Thanks,
-- Jeroen

_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to