In the event of a complete deadlock, we should handle the case when
the main thread is BlockedOnSTM (bug #1183455, the strange error
message only occurs on Windows because on Unix we end up waiting for
^C instead of deadlocking).
StgMainThread *m;
m = main_threads;
switch (m->tso->why_blocked) {
+ case BlockedOnSTM:
case BlockedOnBlackHole:
case BlockedOnException:
case BlockedOnMVar: