In reply to dave_59:
I got the same issue.
I create two sequences, randomize one sequence and copy it to other sequence and tweak just one variable.
By copy, I do simple assignment (no deep copy etc.).
// create, randomize S.
S.dir = !S.dir;
I run S and S on two different sequencers. Sequences complete. I can see their STATE as FINISHED in sequencer viewer (I am not using Mentor tool chain).
The problem happens if I run both S and S in fork join.
On doing single stepping, I see S.start executed first and S state changes to PRE_START.
But, when S starts, its state is already at PRE_START and hence the error. But, the sequence in error message is not S but S and the sequencer is SEQR2 (here agent) which is puzzling for me.
UVM_FATAL @105488.00 ns: [SEQ_NOT_DONE ] Sequence uvm_test_top.m_mcu_env.m_mcu_gpio_env.agent.sequencer.S already started
This problem does not happen if I do not copy S to S and randomize them separately.
Can you give some clue on what happens related to sequencer when sequences are assigned like I did?