Sequence not scheduling on a proper sequencer

Hi,

I am observing a strange problem in my environment. When driving a sequence on an array of agents. I see that sequence is driven only on first agent twice. What I have done is, I have created an agent and in my env used 2 instances of this. From my test, I have created a sequence and driven this sequence on agent[0] first and when complete(it’s blocking), I am again driving this sequence on agent[1]. But somehow, I can see that my sequence runs twice on agent[0] only.

For debug purpose, I have added a m_sequencer.get_full_name print in the body task of the sequence. This is providing proper value, first print provides me agent[0] and second print provides me agent[1]. But the final task in driver which is being called for the “req” I am sending, I can see this is from agent[0] both the times.

I have used topology print hierarchy and multiple print level debugs, every thing is pointing that this sequence is supposed to run on agent[1] but, my task that is being called is always from agent[0] only.

Is there any other way, in debugging such issues. Or any possible reasons/pointers on what could have gone wrong?

Thanks in advance.

Regards,
Skumar.

Yup, found the root cause of the issue. In my sequence, after creating a transaction i am doing shallow copy of the transaction created from test. When calling the same sequence twice on different sequencer, some how this transaction/req copy is always directed to sequence 1 only.

After removing such shallow copies from my sequence. Things work like a charm.

Hope this helps other folks. I will create a example and post it back here.

Thanks,
Skumar