Greetings, I'm trying to instantiate 2 O3 X86 CPUs to run a 2 thread program written using pthreads (create,join calls only). It works fine with a TimingSimpleCPU. I'm doing this in SE mode and the program does what it's supposed to, but it seems to crash when trying to exit out of the thread(s). I get the following error:
gem5.opt: build/X86/cpu/o3/cpu.cc:823: void FullO3CPU<Impl>::removeThread(ThreadID) [with Impl = O3CPUImpl; ThreadID = short int]: Assertion `commit.rob->isEmpty(tid)' failed. Some googling shows this error popped up a few months ago as a pthread regression in Gem5. I'm inquiring if there is a work around (maybe running in FS mode?) or some set of flags/configuration to keep it from happening. I'm also open to fixing it outright and contributing back the fix if someone can set me on a starting path of where to look for the error. From the error, it seems an instruction gets stuck in the ROB and the exit sequence demands the ROB be empty. Removing the assert leads to an instruction time out assert, which means an instruction really is just getting stuck in the ROB. Thanks, Ahmed
_______________________________________________ gem5-users mailing list -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
