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 1ocaxX-0001cQ-IN for pgsql-hackers@arkaria.postgresql.org; Sun, 25 Sep 2022 23:22:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ocaxU-0001E1-Lp for pgsql-hackers@arkaria.postgresql.org; Sun, 25 Sep 2022 23:22:48 +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 1ocaxS-0001Ds-Pu for pgsql-hackers@lists.postgresql.org; Sun, 25 Sep 2022 23:22:48 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ocaxP-0001mO-4e for pgsql-hackers@postgresql.org; Sun, 25 Sep 2022 23:22:45 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 7F2F05C008B; Sun, 25 Sep 2022 19:22:39 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sun, 25 Sep 2022 19:22:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= cc:content-type:date:date:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t= 1664148159; x=1664234559; bh=juybX9J/IAPtoeUhKxlwoLgf02iukcFe9cD w2ldOJ0o=; b=Ahu4hNc9C4tigQuhtZ1H//vt5LZSmhtxIlu3TWdqkKBhfm7yr8P tGwVbrcVcLb7Jfqm8hfFJVkXGKAXDg6AnIqSD7A9Gqs4KlWywPHOEbyMKj7AD5GP 7YEKUomvyoWLhZeePtTL5Tqk7cgTQxuyM+mUC6Zhr2oWRnQMbc4+yg843fKxR0iE Aq1h9RHgE5yn2Ed9hxUjMHdXXfFVR5W/hdaNV10gwqLuQ54iKwp2g8qrSAxYv2Be bS8nJl1HgBYOjcPO5bjC3QwnvM8h8NXyEzpeyvvrVY6lhM8gwi8OnpajGC/33X7A wWxnztOSIth7lZfWZYaDBg40IprVfEZOssw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1664148159; x= 1664234559; bh=juybX9J/IAPtoeUhKxlwoLgf02iukcFe9cDw2ldOJ0o=; b=P iW3FQm3jmMXr0jE/yX8MNWOAyr174iGSMlysIfg56rE75fNludNgzkuqoZdOKGJx wE7NI7T4lj/5b2U7umRY7ibj0NJSrJoeU7lFF/GicraNFRLlfRnb8hQkBe1yeeJ9 ta+uI0GKnZhJVuHv5dc7NVbwWOzqK3YuYYOfzoV8IUc/Ti9pgxuG3MxQaHe9txGh 0GkA0KPveZLFLzggtbO3hZS14PXvujk8ShpakdDn6wl6Sq4VKPwDmpjg69YlFg0n zVYu87C5KKyiNTs5LxAT8a9vx9HoV4JUdXiIkzdxu4yTH6GtlsUVNUeqDDEP8wrF 77DLfOIXQzw27VxAaag8g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeeguddghedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfggtggusehttdertddttddvnecuhfhrohhmpeetnhgurhgvshcu hfhrvghunhguuceorghnughrvghssegrnhgrrhgriigvlhdruggvqeenucggtffrrghtth gvrhhnpeeivdeileegueeutdefudfhfeethefhvedvleejtefguefgtdeltddutedvheek ffenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrnh gurhgvshesrghnrghrrgiivghlrdguvg X-ME-Proxy: Feedback-ID: id4a34324:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 25 Sep 2022 19:22:38 -0400 (EDT) Date: Sun, 25 Sep 2022 16:22:37 -0700 From: Andres Freund To: pgsql-hackers@postgresql.org, Thomas Munro , Robert Haas , Peter Geoghegan Subject: postgres_fdw uninterruptible during connection establishment / ProcSignalBarrier Message-ID: <20220925232237.p6uskba2dw6fnwj2@awork3.anarazel.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, I amd working on adding an "installcheck" equivalent mode to the meson build. One invocation of something "installcheck-world" like lead to things getting stuck. Lots of log messages like: 2022-09-25 16:16:30.999 PDT [2705454][client backend][28/1112:41269][pg_regress] LOG: still waiting for backend with PID 2705178 to accept ProcSignalBarrier 2022-09-25 16:16:30.999 PDT [2705454][client backend][28/1112:41269][pg_regress] STATEMENT: DROP DATABASE IF EXISTS "regression_test_parser_regress" 2022-09-25 16:16:31.006 PDT [2705472][client backend][22/3699:41294][pg_regress] LOG: still waiting for backend with PID 2705178 to accept ProcSignalBarrier 2022-09-25 16:16:31.006 PDT [2705472][client backend][22/3699:41294][pg_regress] STATEMENT: DROP DATABASE IF EXISTS "regression_test_predtest_regress" a stacktrace of 2705178 shows: (gdb) bt #0 0x00007f67d26fe1b3 in __GI___poll (fds=fds@entry=0x7ffebe187c88, nfds=nfds@entry=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f67cfd03c1c in pqSocketPoll (sock=, forRead=forRead@entry=1, forWrite=forWrite@entry=0, end_time=end_time@entry=-1) at ../../../../home/andres/src/postgresql/src/interfaces/libpq/fe-misc.c:1125 #2 0x00007f67cfd04310 in pqSocketCheck (conn=conn@entry=0x562f875a9b70, forRead=forRead@entry=1, forWrite=forWrite@entry=0, end_time=end_time@entry=-1) at ../../../../home/andres/src/postgresql/src/interfaces/libpq/fe-misc.c:1066 #3 0x00007f67cfd043fd in pqWaitTimed (forRead=forRead@entry=1, forWrite=forWrite@entry=0, conn=conn@entry=0x562f875a9b70, finish_time=finish_time@entry=-1) at ../../../../home/andres/src/postgresql/src/interfaces/libpq/fe-misc.c:998 #4 0x00007f67cfcfc47b in connectDBComplete (conn=conn@entry=0x562f875a9b70) at ../../../../home/andres/src/postgresql/src/interfaces/libpq/fe-connect.c:2166 #5 0x00007f67cfcfe248 in PQconnectdbParams (keywords=keywords@entry=0x562f87613d20, values=values@entry=0x562f87613d70, expand_dbname=expand_dbname@entry=0) at ../../../../home/andres/src/postgresql/src/interfaces/libpq/fe-connect.c:659 #6 0x00007f67cfd29536 in connect_pg_server (server=server@entry=0x562f876139b0, user=user@entry=0x562f87613980) at ../../../../home/andres/src/postgresql/contrib/postgres_fdw/connection.c:474 #7 0x00007f67cfd29910 in make_new_connection (entry=entry@entry=0x562f8758b2c8, user=user@entry=0x562f87613980) at ../../../../home/andres/src/postgresql/contrib/postgres_fdw/connection.c:344 #8 0x00007f67cfd29da0 in GetConnection (user=0x562f87613980, will_prep_stmt=will_prep_stmt@entry=false, state=state@entry=0x562f876136a0) at ../../../../home/andres/src/postgresql/contrib/postgres_fdw/connection.c:204 #9 0x00007f67cfd35294 in postgresBeginForeignScan (node=0x562f87612e70, eflags=) and it turns out that backend can't be graciously be terminated. Maybe I am missing something, but I don't think it's OK for connect_pg_server() to connect in a blocking manner, without accepting interrupts? Greetings, Andres Freund