Re: [Gems-users] Problem with XACT_MEMORY set to true in Gems 2.0


Date: Mon, 12 May 2008 09:12:28 -0500 (CDT)
From: Luke Yen <lyen@xxxxxxxxxxx>
Subject: Re: [Gems-users] Problem with XACT_MEMORY set to true in Gems 2.0
Hi,

Can you try to perform the same tests using our latest GEMS 2.1 release, and report your results? This error might be due to a protocol bug that was fixed in our latest release.

  Thanks,
    Luke


On Fri, 9 May 2008, li he wrote:

Hi,

I am trying to run LogTM in the GEMS 2.0. I compiled
MESI_CMP_filter_directory protocol with the following parameters in
$gems_root/ruby/config/rubyconfig.defaults.

--------------------------------------------------------------------------------------------------

PROFILE_EXCEPTIONS: false

PROFILE_XACT: true

PROFILE_NONXACT: false

XACT_DEBUG: true

XACT_DEBUG_LEVEL: 1

XACT_MEMORY: true  // set to true for TM protocols. set it HERE for lazy
systems to register the proper SIMICS interfaces

XACT_ENABLE_TOURMALINE: false // perfect memory system

XACT_NUM_CURRENT: 0 // must be 0

XACT_LAST_UPDATE: 0 // must be 0

XACT_ISOLATION_CHECK: false // Checks whether each memory access preserves
transaction isolation

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

After compilation when I try to run, I get the following error after ruby
initialization, which vanishes if I set XACT_MEMORY to false:

==========================

Ruby initialization complete

### Executing "magic-break-enable"

### Executing "continue"

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:721: m_id is 0

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:721: m_id is 0

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:722: m_version is
0

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:722: m_version is
0

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:723:
g_eventQueue_ptr->getTime() is 177

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:723:
g_eventQueue_ptr->getTime() is 177

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:724: addr is
[0x307c380, line 0x307c380]

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:724: addr is
[0x307c380, line 0x307c380]

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:725: event is
Ack_all

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:725: event is
Ack_all

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:726: state is IS

Warning: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:726: state is IS

Fatal Error: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:727: Invalid
transition

Fatal Error: in fn TransitionResult
L1Cache_Controller::doTransitionWorker(L1Cache_Event, L1Cache_State,
L1Cache_State&, const Address&) in
generated/MESI_CMP_filter_directory/L1Cache_Transitions.C:727: Invalid
transition

***  Simics getting shaky, switching to 'safe' mode.

***  Simics (main thread) received an abort signal, probably an assertion.

Starting command line. (May have skipped commands in script files.)



I have no idea, why this is happening. Could anybody help me? Thanks a lot!

leona

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