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 1mfNSb-0005aw-B7 for pgsql-bugs@arkaria.postgresql.org; Tue, 26 Oct 2021 14:29:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mfNSZ-0006Px-21 for pgsql-bugs@arkaria.postgresql.org; Tue, 26 Oct 2021 14:29:51 +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 1mfNSY-0006Po-PV for pgsql-bugs@lists.postgresql.org; Tue, 26 Oct 2021 14:29:50 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mfNSW-0003eK-Hi for pgsql-bugs@lists.postgresql.org; Tue, 26 Oct 2021 14:29:49 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 19QETdrA083447; Tue, 26 Oct 2021 10:29:39 -0400 From: Tom Lane To: Noah Misch cc: Andrey Borodin , PostgreSQL mailing lists , Michael Paquier , Peter Geoghegan , Andres Freund Subject: Re: conchuela timeouts since 2021-10-09 system upgrade In-reply-to: <20211026134500.GA128912@rfd.leadboat.com> References: <20211019030212.GB3403374@rfd.leadboat.com> <20211024050028.GA3310519@rfd.leadboat.com> <64835CF9-D9AA-49BF-A685-01C23B1023C1@yandex-team.ru> <20211024161942.GB3945842@rfd.leadboat.com> <640FA6DC-A998-4499-B3B4-2773685B8C56@yandex-team.ru> <3792312.1635119599@sss.pgh.pa.us> <4170532.1635195582@sss.pgh.pa.us> <20211026015157.GA113335@rfd.leadboat.com> <52098.1635228234@sss.pgh.pa.us> <20211026134500.GA128912@rfd.leadboat.com> Comments: In-reply-to Noah Misch message dated "Tue, 26 Oct 2021 06:45:00 -0700" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <83445.1635258579.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Tue, 26 Oct 2021 10:29:39 -0400 Message-ID: <83446.1635258579@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Noah Misch writes: > On Tue, Oct 26, 2021 at 02:03:54AM -0400, Tom Lane wrote: >> Or more >> practically, use advisory locks in that script to enforce that only one >> runs at once. > The author did try that. Hmm ... that ought to have done the trick, I'd think. However: > Both sound doable, but I don't expect either to fix prairiedog's trouble= . Yeah :-(. I think this test is somehow stumbling over a pre-existing bug. >> So what we have is that libpq thinks it's sent the next DROP INDEX, >> but the backend hasn't seen it. > Thanks for isolating that. The plot thickens. When I went back to look at that machine this morning, I found this in the postmaster log: 2021-10-26 02:52:09.324 EDT [1013] 002_cic.pl LOG: statement: DROP INDEX = CONCURRENTLY idx; 2021-10-26 02:52:09.352 EDT [1013] 002_cic.pl LOG: could not send data to= client: Broken pipe 2021-10-26 02:52:09.352 EDT [1013] 002_cic.pl FATAL: connection to client= lost The timestamps correspond (more or less anyway) to when I killed off the stuck test run and went to bed. So the DROP command *was* sent, and it was eventually received by the backend, but it seems to have taken killing the pgbench process to do it. I think this probably exonerates the pgbench/libpq side of things, and instead we have to wonder about a backend or kernel bug. A kernel bug could possibly explain the unexplainable connection to what's happening on some other file descriptor. I'd be prepared to believe that prairiedog's ancient macOS version has some weird bug preventing kevent() from noticing available data ... but (a) surely conchuela wouldn't share such a bug, and (b) we've been using kevent() for a couple years now, so how come we didn't see this before? Still baffled. I'm currently experimenting to see if the bug reproduces when latch.c is made to use poll() instead of kevent(). But the failure rate was low enough that it'll be hours before I can say confidently that it doesn't (unless, of course, it does). regards, tom lane