Re: Backup command and functions can cause assertion failure and segmentation fault

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2022-07-01T06:41:42Z
Lists: pgsql-hackers
On Fri, Jul 01, 2022 at 03:32:50PM +0900, Fujii Masao wrote:
> Sounds good idea to me. I updated the patch in that way. Attached.

Skimming quickly through the thread, this failure requires a
termination of a backend running BASE_BACKUP.  This is basically
something done by the TAP test added in 0475a97f with a WAL sender
killed, and MAX_RATE being used to make sure that we have enough time
to kill the WAL sender even on fast machines.  So you could add a
regression test, no?
--
Michael

Commits

  1. Add more TAP tests with BASE_BACKUP and pg_backup_start/stop

  2. Fix assertion failure and segmentation fault in backup code.

  3. Prevent BASE_BACKUP in the middle of another backup in the same session.