This was apparently a typo, which caused recovery to think that it
immediately reached the end of backup, and allowed the database to start
up too early.
Reported by Jeff Janes. Backpatch to 9.2, where this code was introduced.
/* Pop the error context stack */
error_context_stack = errcallback.previous;
- if (!XLogRecPtrIsInvalid(ControlFile->backupStartPoint) &&
+ if (!XLogRecPtrIsInvalid(ControlFile->backupEndPoint) &&
XLByteLE(ControlFile->backupEndPoint, EndRecPtr))
{
/*