The paper explores failure transparency and the limits of generic recovery from failures. It evaluates several recovery protocols on real applications to guarantee two invariants: save work and lose work. The results show at least one protocol performs well for each application, with reasonably low overhead. However, application-generic recovery is not always possible for certain propagation failures without help from the application. While failure transparency is ideal, there are drawbacks like increased complexity, cost and lower priority on fault correction.