Hi Ahmed, did you found a solution for this? I'm having the same error when running a multithreaded application with the DerivO3CPU x86 model. Thank you in advance.
Pedro Em ter., 23 de fev. de 2021 às 13:27, Ahmed F Khawaja via gem5-users < [email protected]> escreveu: > 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
_______________________________________________ gem5-users mailing list -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
