Hi Nilay,
I got the callback information as follows. It seems to me that there is
some address in Directory Entry got accessed but not allocated. But I dont
know why....Can you please help me interpret this? thanks!
Best,
Jinzhu
command line:build/X86_SE/gem5.debug configs/example/ruby_random_test.py
--num-cpus=130 --num-dirs=1 --topology=Pt2Pt
Global frequency set at 1000000000 ticks per second
info: Entering event queue @ 0. Starting simulation...
Program received signal SIGSEGV, Segmentation fault.
0x0000000000b3a536 in Address::getAddress (this=0x2)
at build/X86_SE/mem/ruby/common/Address.hh:61
61 physical_address_t getAddress() const {return m_address;}
(gdb) where
#0 0x0000000000b3a536 in Address::getAddress (this=0x2)
at build/X86_SE/mem/ruby/common/Address.hh:61
#1 0x0000000000b3a567 in operator== (obj1=..., obj2=...)
at build/X86_SE/mem/ruby/common/Address.hh:120
#2 0x0000000000b3a5b9 in std::equal_to<Address>::operator()
(this=0xa3d4451, s1=..., s2=...)
at build/X86_SE/mem/ruby/common/Address.hh:222
#3 0x0000000000c1aaed in std::tr1::__detail::_Hash_code_base<Address,
std::pair<Address const, PerfectCacheLineState<L2Cache_DirEntry> >,
std::_Select1st<std::pair<Address const,
PerfectCacheLineState<L2Cache_DirEntry> > >, std::equal_to<Address>,
std::tr1::hash<Address>, std::tr1::__detail::_Mod_range_hashing,
std::tr1::__detail::_Default_ranged_hash, false>::_M_compare (this=
0xa3d4450, __k=..., __n=0x2) at
/usr/include/c++/4.5/tr1/hashtable_policy.h:684
#4 0x0000000000c1a4d7 in std::tr1::_Hashtable<Address, std::pair<Address
const, PerfectCacheLineState<L2Cache_DirEntry> >,
std::allocator<std::pair<Address const,
PerfectCacheLineState<L2Cache_DirEntry> > >,
std::_Select1st<std::pair<Address const,
PerfectCacheLineState<L2Cache_DirEntry> > >, std::equal_to<Address>,
std::tr1::hash<Address>, std::tr1::__detail::_Mod_range_hashing,
std::tr1::__detail::_Default_ranged_hash,
std::tr1::__detail::_Prime_rehash_policy, false, false, true>::count
(this=0xa3d4450, __k=...) at /usr/include/c++/4.5/tr1/hashtable.h:731
#5 0x0000000000c1a1a6 in
PerfectCacheMemory<L2Cache_DirEntry>::isTagPresent (this=0xa3d4450,
address=...)
at build/X86_SE/mem/ruby/system/PerfectCacheMemory.hh:121
#6 0x0000000000c19849 in L2Cache_Controller::setNewWriter (this=0x38fd000,
param_addr=...,
param_id=@0x7fffffffc11c) at
build/X86_SE/mem/protocol/L2Cache_Controller.cc:1836
#7 0x0000000000c15615 in L2Cache_Controller::r_markNewSharer
(this=0x38fd000,
m_cache_entry_ptr=@0x7fffffffc3b8, addr=...)
at build/X86_SE/mem/protocol/L2Cache_Controller.cc:1343
#8 0x0000000000c21a15 in L2Cache_Controller::doTransitionWorker
(this=0x38fd000,
event=L2Cache_Event_L1_GETX, state=L2Cache_State_I_L,
next_state=@0x7fffffffcb10,
m_cache_entry_ptr=@0x7fffffffc3b8, addr=...)
at build/X86_SE/mem/protocol/L2Cache_Transitions.cc:117
#9 0x0000000000c1fa8d in L2Cache_Controller::doTransition (this=0x38fd000,
event=L2Cache_Event_L1_GETX, m_cache_entry_ptr=0x0, addr=...)
at build/X86_SE/mem/protocol/L2Cache_Transitions.cc:38
#10 0x0000000000c261bb in L2Cache_Controller::wakeup (this=0x38fd000)
at build/X86_SE/mem/protocol/L2Cache_Wakeup.cc:283
#11 0x0000000000b374fd in RubyEventQueueNode::process (this=0x8599320)
at build/X86_SE/mem/ruby/eventqueue/RubyEventQueueNode.hh:51
#12 0x0000000000e8d106 in EventQueue::serviceOne (this=0x1f6ed40)
at build/X86_SE/sim/eventq.cc:204
#13 0x0000000000ed0f74 in simulate (num_cycles=9223372036854775807)
at build/X86_SE/sim/simulate.cc:73
#14 0x0000000000ddb460 in _wrap_simulate__SWIG_0
(args=(9223372036854775807L,))
at build/X86_SE/python/swig/event_wrap.cc:4488
#15 0x0000000000ddb61d in _wrap_simulate (self=0x0,
args=(9223372036854775807L,))
at build/X86_SE/python/swig/event_wrap.cc:4538
#16 0x00007ffff73af0b1 in ext_do_call (f=<value optimized out>,
throwflag=<value optimized out>)
at ../Python/ceval.c:4323
#17 PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized
out>)
at ../Python/ceval.c:2705
#18 0x00007ffff73b127d in PyEval_EvalCodeEx (co=0x2c3d4b0, globals=<value
optimized out>,
locals=<value optimized out>, args=<value optimized out>, argcount=1,
kws=0x35ab3a8,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3253
#19 0x00007ffff73af28d in fast_function (f=<value optimized out>,
throwflag=<value optimized out>) at ../Python/ceval.c:4109
#20 call_function (f=<value optimized out>, throwflag=<value optimized out>)
---Type <return> to continue, or q <return> to quit---
at ../Python/ceval.c:4034
#21 PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized
out>)
at ../Python/ceval.c:2666
#22 0x00007ffff73b127d in PyEval_EvalCodeEx (co=0x34371b0, globals=<value
optimized out>,
locals=<value optimized out>, args=<value optimized out>, argcount=0,
kws=0x0, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3253
#23 0x00007ffff73b1392 in PyEval_EvalCode (co=<value optimized out>,
globals=<value optimized out>, locals=<value optimized out>) at
../Python/ceval.c:667
#24 0x00007ffff73b0228 in exec_statement (f=<value optimized out>,
throwflag=<value optimized out>) at ../Python/ceval.c:4710
#25 PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized
out>)
at ../Python/ceval.c:1880
#26 0x00007ffff73b127d in PyEval_EvalCodeEx (co=0x2c80030, globals=<value
optimized out>,
locals=<value optimized out>, args=<value optimized out>, argcount=0,
kws=0x2ca2620,
kwcount=0, defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3253
#27 0x00007ffff73af28d in fast_function (f=<value optimized out>,
throwflag=<value optimized out>) at ../Python/ceval.c:4109
#28 call_function (f=<value optimized out>, throwflag=<value optimized out>)
at ../Python/ceval.c:4034
#29 PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized
out>)
at ../Python/ceval.c:2666
#30 0x00007ffff73b127d in PyEval_EvalCodeEx (co=0x2cc8d30, globals=<value
optimized out>,
locals=<value optimized out>, args=<value optimized out>, argcount=0,
kws=0x0, kwcount=0,
defs=0x0, defcount=0, closure=0x0) at ../Python/ceval.c:3253
#31 0x00007ffff73b1392 in PyEval_EvalCode (co=<value optimized out>,
globals=<value optimized out>, locals=<value optimized out>) at
../Python/ceval.c:667
#32 0x00007ffff73d31dc in run_mod (str=0x16918f6 "m5.main()", start=<value
optimized out>,
globals=
{'__builtins__': <module at remote 0x2261ad0>, '__name__': '__main__',
'm5': <module at remote 0x2cc9670>, '__doc__': None, '__package__': None},
locals=
{'__builtins__': <module at remote 0x2261ad0>, '__name__': '__main__',
'm5': <module at remote 0x2cc9670>, '__doc__': None, '__package__': None},
flags=<value optimized out>)
at ../Python/pythonrun.c:1346
#33 PyRun_StringFlags (str=0x16918f6 "m5.main()", start=<value optimized
out>, globals=
{'__builtins__': <module at remote 0x2261ad0>, '__name__': '__main__',
'm5': <module at remote 0x2cc9670>, '__doc__': None, '__package__': None},
locals=
{'__builtins__': <module at remote 0x2261ad0>, '__name__': '__main__',
'm5': <module at remote 0x2cc9670>, '__doc__': None, '__package__': None},
flags=<value optimized out>)
at ../Python/pythonrun.c:1309
#34 0x0000000000e95a54 in m5Main (argc=5, argv=0x7fffffffe008) at
build/X86_SE/sim/init.cc:256
#35 0x000000000040a44b in main (argc=5, argv=0x7fffffffe008) at
build/X86_SE/sim/main.cc:57