No problem with the original Branchpredictor.cpp. One question that I have how can I get a call stack with GDB? I tried to catch the PID of the simics but cannot because as soon as I run the run_job, I get the SIGSEGV so there is no time to attach it to the GDB. I will then try to figure out the problem. // Naderan *Mahmood;
________________________________ From: Lotfi Kamran Pejman <[email protected]> To: Mahmood Naderan <[email protected]>; simflex <[email protected]> Sent: Mon, June 28, 2010 4:49:35 PM Subject: RE: SIGSEGV in FastCacheImpl.cpp (push function) Mahmood, Can you please redo the same experiment with Flexus 4.0 (Without your code)? If the same problem exist, I will fix it. It is impossible for me to debug a code without having the code :) Pejman ________________________________________ From: Mahmood Naderan [[email protected]] Sent: Monday, June 28, 2010 11:41 AM To: simflex Subject: SIGSEGV in FastCacheImpl.cpp (push function) Dear all, I get a segmentation fault right after rub_job (for creating flexpoints). Using the vverb level, I have attached the debug.out file. Some notes: 1- I have changed somethings in branchpredictor.cpp but have no problem in flexus-3.0. 2- Using the original iface messages, the last message in the debug output was <FastCacheImpl.cpp:294>. However I added an extra message after the "if" statement to check if the bug is the conditional statement or not. DBG_( Iface, Addr(aMessage.address()) ( << "Request Left Lookup... )); if (snp_lookup != NULL) { DBG_( Iface, Addr(aMessage.address()) ( << "Request Left Snoop Lookup... )); } DBG_( Iface, ( << "skipping if, exiting push" ) ); 3- In the attached log, my message is shown and that means there is something wrong with whom that call "push" function. If you search in the debug.out, you can see that "skipping if, exiting push" is shown several times (lines 67, 75, 82, 90, 99, 112, 119, 126, 133, 140) and the last time that it appear is in line 147. I will appreciate anyone who explain what is actually going on in the FastCacheImpl.cpp (push function). As far as I know, brachprediction messages should be appeared after FastCacheImpl. So I don't think my changes are the root of the problem. Thanks, // Naderan *Mahmood;
