The AT subordinate implementation employs a proxy participant registered on behalf of the suibordinate transaction to forward messages from the parent coordinator. There is a window during prepare between completion of the subordinate transaction prepare (which includes logging the subordinate transaction) and logging of the proxy where a crash can occur. When the subordinate transaction is recovered it will wait forever for a message from a non-existent proxy. This can be resolved by ensuring that recovered subordinates and their proxies are reconciled during the first pass of the log. Any transactions whose proxy is not present can be rolled back automatically. This mirrors the way the BA subordinate transaction implementation closes the window.