In reply to Subbi Reddy:
Other reason is race scenario in the design.
Best way to debug is log comparing, especially the timing part.
You have 9 pass and 1 fail.
So compare the 1 fail log with 1 pass log, see the messages are the same or not.
And if messages are same, is the time the same.
Sometimes because of the race scenario you got the timing little changed, which makes the test-case to fail