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