Hi,m5-users,
When I use DetailedO3CPU on FS mode, there is always a segmentation fault.
And gdb infomation as bellow:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208240448 (LWP 900)]
0x082b85bb in DefaultFetch<AlphaSimpleImpl>::getFetchingThread (this=0x9da9564,
[EMAIL PROTECTED]) at build/ALPHA_FS/cpu/o3/fetch_impl.hh:1334
1334 if (fetchStatus[tid] == Running ||
(gdb) p tid
$1 = 165293664
(gdb) p (*activeThreads).size()
$6 = 0
(gdb) bt
#0 0x082b85bb in DefaultFetch<AlphaSimpleImpl>::getFetchingThread
(this=0x9da9564,
[EMAIL PROTECTED]) at build/ALPHA_FS/cpu/o3/fetch_impl.hh:1334
#1 0x082b8614 in DefaultFetch<AlphaSimpleImpl>::fetch (this=0x9da9564, [EMAIL
PROTECTED])
at build/ALPHA_FS/cpu/o3/fetch_impl.hh:1007
#2 0x082ba28d in DefaultFetch<AlphaSimpleImpl>::tick (this=0x9da9564)
at build/ALPHA_FS/cpu/o3/fetch_impl.hh:834
#3 0x082c95c2 in FullO3CPU<AlphaSimpleImpl>::tick (this=0x9da9160)
at build/ALPHA_FS/cpu/o3/cpu.cc:414
build/ALPHA_FS/cpu/o3/fetch_impl.hh:
int tid = *((*activeThreads).begin());
if (fetchStatus[tid] == Running ||
fetchStatus[tid] == IcacheAccessComplete ||
fetchStatus[tid] == Idle) {
return tid;
} else {
return -1;
}
It seems that there didn't check whether the activeThreads is empty or not. Is
that the exact reason for this error?
Thanks and BestRegards!
xiaojun.chen
[EMAIL PROTECTED]
2006-11-22
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users