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. I tried the users mailing list and had no luck, so I'm trying the dev list. Is there a ticket tracking this or a similar issue? Thanks,
_______________________________________________ gem5-dev mailing list -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
