Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jKVKV-000866-Qq for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2020 23:02:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jKVKT-0001tQ-Uv for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2020 23:02:25 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jKVKT-0001tI-Mp for pgsql-hackers@lists.postgresql.org; Fri, 03 Apr 2020 23:02:25 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jKVKQ-0007ef-GW for pgsql-hackers@postgresql.org; Fri, 03 Apr 2020 23:02:24 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id 033N2DNo027803; Fri, 3 Apr 2020 19:02:13 -0400 From: Tom Lane To: Robert Haas cc: Thomas Munro , Fabien COELHO , Alvaro Herrera , David Steele , Andres Freund , Noah Misch , Stephen Frost , Amit Kapila , Suraj Kharage , tushar , Rajkumar Raghuwanshi , Rushabh Lathia , Tels , Andrew Dunstan , PostgreSQL Hackers , Jeevan Chalke , vignesh C Subject: Re: backup manifests and contemporaneous buildfarm failures In-reply-to: <26044.1585954081@sss.pgh.pa.us> References: <20200403205412.GA8279@alvherre.pgsql> <22394.1585951968@sss.pgh.pa.us> <26044.1585954081@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Fri, 03 Apr 2020 18:48:01 -0400" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <27801.1585954933.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Fri, 03 Apr 2020 19:02:13 -0400 Message-ID: <27802.1585954933@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk I wrote: > I'm guessing that we're looking at a platform-specific difference in > whether "rm -rf" fails outright on an unreadable subdirectory, or > just tries to carry on by unlinking it anyway. Yeah... on my RHEL6 box, "make check" cleans up the working directories under tmp_check, but on a FreeBSD 12.1 box, not so much: I'm left with $ ls tmp_check/ log/ t_003_corruption_master_data/ tgl@oldmini$ ls -R tmp_check/t_003_corruption_master_data/ backup/ tmp_check/t_003_corruption_master_data/backup: open_directory_fails/ tmp_check/t_003_corruption_master_data/backup/open_directory_fails: pg_subtrans/ tmp_check/t_003_corruption_master_data/backup/open_directory_fails/pg_subt= rans: ls: tmp_check/t_003_corruption_master_data/backup/open_directory_fails/pg_= subtrans: Permission denied I did not see any complaints printed to the terminal, but in regress_log_003_corruption there's ... ok 40 - corrupt backup fails validation: open_directory_fails: matches cannot chdir to child for /usr/home/tgl/pgsql/src/bin/pg_validatebackup/tm= p_check/t_003_corruption_master_data/backup/open_directory_fails/pg_subtra= ns: Permission denied at t/003_corruption.pl line 126. cannot remove directory for /usr/home/tgl/pgsql/src/bin/pg_validatebackup/= tmp_check/t_003_corruption_master_data/backup/open_directory_fails: Direct= ory not empty at t/003_corruption.pl line 126. # Running: pg_basebackup -D /usr/home/tgl/pgsql/src/bin/pg_validatebackup/= tmp_check/t_003_corruption_master_data/backup/search_directory_fails --no-= sync -T /tmp/lxaL_sLcnr=3D/tmp/_fegwVjoDR ok 41 - base backup ok ... This may be more of a Perl version issue than a platform issue, but either way it's a problem. Also, on the FreeBSD box, "rm -rf" isn't happy either: $ rm -rf tmp_check rm: tmp_check/t_003_corruption_master_data/backup/open_directory_fails/pg_= subtrans: Permission denied rm: tmp_check/t_003_corruption_master_data/backup/open_directory_fails: Di= rectory not empty rm: tmp_check/t_003_corruption_master_data/backup: Directory not empty rm: tmp_check/t_003_corruption_master_data: Directory not empty rm: tmp_check: Directory not empty regards, tom lane