In reply to shekher201778:
I missed the part where you set the sequencer arbitration mode.
After running some tests, I’m not sure why it is behaving in this manner. It seems that the first lock() is overriding the grab(), but I don’t know why.
I’ve reproduced your issue with an example from Verification Academy on EDA Playground.
You can change the order of the sequence start() calls in the body of ‘arb_example_seq’ and get different results, including several scenarios where multiple sequences will lock the sequencer, resulting in a hang in the environment.
Perhaps Dave can provide some additional insight.