Hi,
Thanks for the advice, I set the deadlock threshold to 20 million and now I
no longer get the error in the Sequencer code.
However, now I see the following fatal errors in
simics/SimicsProcessor.C:365
Warning: in fn void RegisterState::enableInterrupts(int) in
log_tm/RegisterStateWindowed.C:336: "WARNING: in enable interrupts" is
WARNING: in enable interrupts
Warning: in fn void RegisterState::enableInterrupts(int) in
log_tm/RegisterStateWindowed.C:336: "WARNING: in enable interrupts" is
WARNING: in enable interrupts
Warning: in fn void RegisterState::enableInterrupts(int) in
log_tm/RegisterStateWindowed.C:337: pil is 0
Warning: in fn void RegisterState::enableInterrupts(int) in
log_tm/RegisterStateWindowed.C:337: pil is 0
Fatal Error: in fn MemoryTransactionResult
SimicsProcessor::makeRequest(memory_transaction_t*) in
simics/SimicsProcessor.C:365: Error: Simics get unstalled without ruby
asking?
Fatal Error: in fn MemoryTransactionResult
SimicsProcessor::makeRequest(memory_transaction_t*) in
simics/SimicsProcessor.C:365: Error: Simics get unstalled without ruby
asking?
Thanks for any help anyone can provide,
Mark
-----Original Message-----
From: gems-users-bounces@xxxxxxxxxxx [mailto:gems-users-bounces@xxxxxxxxxxx]
On Behalf Of Jayaram Bobba
Sent: Sunday, December 10, 2006 4:00 PM
To: Gems Users
Subject: Re: [Gems-users] Fatal Error: in fn virtual void
Sequencer::wakeup() in system/Sequencer.C:112: Aborting
Mark,
You might have to increase the g_DEADLOCK_THRESHOLD to a larger value.
It is possible that the LD_XACT is stalled on a long running
transaction. Try 'ruby0.setparam g_DEADLOCK_THRESHOLD 20000000' before
you start the simulation...
Jayaram
Mark Gebhart wrote:
>
> 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
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Gems-users mailing list
> Gems-users@xxxxxxxxxxx
> https://lists.cs.wisc.edu/mailman/listinfo/gems-users
> Use Google to search the GEMS Users mailing list by adding
"site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
>
>
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding
"site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
|