Additional problems can arise when transactions abort.
Consider the following schedule where transaction T1 fails:
T1: R(X) W(X) A T2: R(X) W(X) C
Abort will rollback the changes to X, but ...
X
Consider three places where rollback might occur:
T1: R(X) W(X) A [1] [2] [3] T2: R(X) W(X) C