Uvm1.2 "starting_phase = null" but sequence still working

Hi
I just switched to uvm1.2. In my sequence task body there’s:

var uvm_phase starting_phase = get_starting_phase();
if (starting_phase!=null) begin
...
end
else `uvm_error("starting phase = null")

During the simulation, it reports “starting phase = null”. But the sequence still works as expected. My driver/monitor all get expected transactions.

Is this a normal case? Should starting phase should be null or is there anything wrong with the situation?

In reply to ekgren:

It means the sequence was not started using the default sequence mechanism in uvm_sequencer.

If you are not using default sequences (which we do not recommend anyways), you can eliminate this code.

In reply to dave_59:

Thanks. Actually I set a top_sequence as default sequence for my v_sequencer. The top_sequence includes more than one sequences. When I check starting_phase at task body() of each sequence, I found that for the first lauched sequence, starting_phase != null. But for the other sequences, starting_phase = null. I’m not sure this is normal or fragile case and if it needs fixing.