On Thu, 10 Jan 2013, Yiding Han wrote:
Thanks for the reply:
gdb shows that the segfault is happening in decode_cache.hh:
Program received signal SIGSEGV, Segmentation fault.
getPage (this=0x2ff4ee0) at build/X86/cpu/decode_cache.hh:86
86 if (recent[0] != pageMap.end()) {
Here is a backtrace:
(gdb) backtrace
#0 getPage (this=0x2ff4ee0) at build/X86/cpu/decode_cache.hh:86
#1 lookup (this=0x2ff4ee0) at build/X86/cpu/decode_cache.hh:122
#2 X86ISA::Decoder::doResetState (this=0x2ff4ee0)
at build/X86/arch/x86/decoder.cc:46
#3 0x000000000048de65 in X86ISA::Decoder::process (this=0x2ff4ee0)
at build/X86/arch/x86/decoder.cc:83
#4 0x0000000000e2d3fe in X86ISA::Decoder::moreBytes (this=0x2ff4ee0,
pc=...,
fetchPC=4763648, data=1784132751550744904)
at build/X86/arch/x86/decoder.hh:269
#5 0x0000000000f4c0f8 in BaseSimpleCPU::preExecute (this=0x2800900)
at build/X86/cpu/simple/base.cc:386
#6 0x0000000000f3a0f8 in AtomicSimpleCPU::tick (this=0x2800900)
at build/X86/cpu/simple/atomic.cc:517
Your trace was not of much help since it is not immediately clear as to
what pointer is being dereferenced incorrectly (one of the major causes of
segmentation faults). But I was able to reproduce the problem. The
following variable is invalid:
typedef DecodeCache::AddrMap<Decoder::InstBytes> DecodePages;
DecodePages *decodePages;
What is surprising is that checkpoint restore is working (with other
errors) in FS mode. But in SE mode, the simulation crashes right at the
beginning. It appears to be an initialization issue to me, but I was not
able to figure out the exact cause.
--
Nilay
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users