emberjs/ember.js — pull request #263 by ef4 (2011-12-15 22:11:51+00:00)
Title: Safer Runloop Unwinding

Any unhandled exception thrown during RunLoop.flush leaves the
leftover RunLoop object in SC.run.currentRunLoop. This halts the
entire application, because nothing else can be successfully scheduled
to run.

While we can't make any guarantees about the things that failed to run
properly during the flush, we can at least leave the application in a
more consistent state by clearing out the dead RunLoop.

This allows the user to navigate away from a broken view and try
something else, instead of facing a completing frozen UI.