Abstract This paper investigates the problem of error propagation in distributed systems. To resolve this problem, a state preservation scheme is presented to save process states in main memory. Based on the state preservation, the processes suffering from error propagation can be recovered without involving stable storage. The recovery overhead is significantly reduced. In addition, a well-known single-source-all-destination graph algorithm is also utilized to find the optimal recovery points of the processes suffering from error propagation.