[Gems-users] Fatal Error: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:112: Aborting


Date: Sun, 10 Dec 2006 10:38:00 -0600
From: "Mark Gebhart" <mgebhart@xxxxxxxxxxxxx>
Subject: [Gems-users] Fatal Error: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:112: Aborting

Hi,

 

I am trying to run a LogTM program using Simics 3.0.22 and GEMS 1.3 and the abisko-common target script with Solaris 10.  I have tried both MOESI_SMP_LogTM_directory and MESI_SMP_LogTM_directory.  Things work fine with 1 thread but as soon as I go to 2 threads I get the following warnings followed by a fatal error:

 

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:103: Possible Deadlock detected

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:103: Possible Deadlock detected

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:104: request is [CacheMsg: Address=[0xed2202c, line 0xed22000] Type=LD_XACT ProgramCounter=[0xff237c74, line 0xff237c40] AccessMode=UserMode Size=2 Prefetch=No Version=0 Aborted=0 Time=34944882 ]

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:104: request is [CacheMsg: Address=[0xed2202c, line 0xed22000] Type=LD_XACT ProgramCounter=[0xff237c74, line 0xff237c40] AccessMode=UserMode Size=2 Prefetch=No Version=0 Aborted=0 Time=34944882 ]

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:105: m_chip_ptr->getID() is 7

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:105: m_chip_ptr->getID() is 7

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:106: m_version is 0

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:106: m_version is 0

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:107: keys.size() is 1

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:107: keys.size() is 1

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:108: current_time is 34995936

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:108: current_time is 34995936

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:109: request.getTime() is 34944882

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:109: request.getTime() is 34944882

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:110: current_time - request.getTime() is 51054

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:110: current_time - request.getTime() is 51054

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:111: *m_readRequestTable_ptr is [ [0xed22000, line 0xed22000]=[CacheMsg: Address=[0xed2202c, line 0xed22000] Type=LD_XACT ProgramCounter=[0xff237c74, line 0xff237c40] AccessMode=UserMode Size=2 Prefetch=No Version=0 Aborted=0 Time=34944882 ] ]

Warning: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:111: *m_readRequestTable_ptr is [ [0xed22000, line 0xed22000]=[CacheMsg: Address=[0xed2202c, line 0xed22000] Type=LD_XACT ProgramCounter=[0xff237c74, line 0xff237c40] AccessMode=UserMode Size=2 Prefetch=No Version=0 Aborted=0 Time=34944882 ] ]

Fatal Error: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:112: Aborting

Fatal Error: in fn virtual void Sequencer::wakeup() in system/Sequencer.C:112: Aborting

Abort (SIGABRT) in main thread

The simulation state has been corrupted. Simulation cannot continue.

Please restart Simics.

 

What can I do to prevent this deadlock from occurring?  My program consists of a main loop with a BEGIN_TRANSACATION(0) followed by a call to a work function followed by an COMMIT_TRANSACTION(0).

 

Any advice would be greatly appreciated.

 

Thanks,

Mark

[← Prev in Thread] Current Thread [Next in Thread→]