Possible causes of a passive hang include the following:
A deadlock resulting from locks or conditional variables
A defunct thread