Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vIXeb-004oK9-0K for pgsql-hackers@arkaria.postgresql.org; Mon, 10 Nov 2025 19:34:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vIXdZ-0025sh-1M for pgsql-hackers@arkaria.postgresql.org; Mon, 10 Nov 2025 19:33:13 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vIXdY-0025sY-2y for pgsql-hackers@lists.postgresql.org; Mon, 10 Nov 2025 19:33:13 +0000 Received: from mout.gmx.net ([212.227.17.22]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vIXdW-006QOW-0x for pgsql-hackers@lists.postgresql.org; Mon, 10 Nov 2025 19:33:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1762803187; x=1763407987; i=mbanck@gmx.net; bh=zcTfFrHm6r0YjhoWa+XP26FomDT0mpe6HOUJNLpSAEI=; h=X-UI-Sender-Class:Date:From:To:Cc:Subject:Message-ID:References: MIME-Version:Content-Type:Content-Transfer-Encoding:In-Reply-To: cc:content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=Gvi8rngZt9KD7n3uX2kdWjiMfKDGR5zsKY9xuAsHVz0Y30CofgLcZlLp5RDX4oTU t8PZPvWN+osWEVnB5HVzHmD857IdR17QvePJAXLQko8xJry8IbiTHjdxCMjlTbb5W Iyv0syNje0O7waVGeGUbvhtAPX8y3jEQ2vYwFe1/ohVU/jAVVbXNEM21iiGpQ5Ooz NQPFAN0hmaJ1JicVWU+qXoTP3IGmgpNZaS0Y/FMYvXEE7uaDWJ9fP7Ksw5y5einx4 JQN/L2XLvC0+7PIz1CrC6w3KyTz0KB2OcBerRiTGvKEmtY5Zr1tc1XNZ5pe+eU8nf szmcmIid+x0Bq4+ETQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from lightning.p46.dedyn.io ([88.217.118.178]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M4axq-1vJ5bJ2M7C-009DQv; Mon, 10 Nov 2025 20:33:07 +0100 Received: from mbanck by lightning.p46.dedyn.io with local (Exim 4.92) (envelope-from ) id 1vIXdS-0000mF-Kz; Mon, 10 Nov 2025 20:33:06 +0100 Date: Mon, 10 Nov 2025 20:33:06 +0100 From: Michael Banck To: Alexander Lakhin Cc: Thomas Munro , Tom Lane , Michael Paquier , pgsql-hackers@lists.postgresql.org Subject: Re: GNU/Hurd portability patches Message-ID: <20251110193306.GV10642@caipicrew.dd-dns.de;lightning.caipicrew.dd-dns.de> References: <68d3cbe8.5d0a0220.65f10.da5f@mx.google.com> <3314741.1758724126@sss.pgh.pa.us> <68d413a3.a70a0220.24c74c.8be9@mx.google.com> <68d55c1e.050a0220.6136.4224@mx.google.com> <3771131.1758819153@sss.pgh.pa.us> <68d629f2.050a0220.3685b9.5ce2@mx.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Provags-ID: V03:K1:XKlroZ/C6mDy2sx6UT16iGQGwyiQlGy2wcljCciSlN4Y15MSV0/ jvaOFiW11cn6+UPi4Et2vaxfs0F6Yh7shIRSeQ2ihxo+enCkByKTjEQzI5SwouOwErJ4Lw/ zXLLZu2o1TKdswiFwMfPmJlafD6YVC3OcanyYKyYdFZp7R70B9Da0LXTAGqUILyZilKb3DU vMCMzu7aXxpUxKg55RVNQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:ayp+VsIZmxc=;PCph4ArenQ3SDzgygQQyCONKBgU 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 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Alexander, On Mon, Nov 10, 2025 at 09:00:01PM +0200, Alexander Lakhin wrote: > Sorry for the delay. I've finally completed a new round of experiments a= nd > discovered the following: =20 [...] > 12.10.2025 03:42, Thomas Munro wrote: > > * I wonder about the special code paths for handlers that were already > > running and happened to be in sigreturn(), or something like that, > > which I didn't study at all, but it occurred to me that our pqsignal > > will only block the signal itself while running a handler (since it > > doesn't specify SA_NODEFER)... so what happens if you block all > > signals while running each handler by changing > > sigemptyset(&act.sa_mask) to sigfillset(&act.sa_mask)? >=20 > Thank you for the suggestion! >=20 > With this modification: > @@ -137,7 +140,7 @@ pqsignal(int signo, pqsigfunc func) >=20 > =A0#if !(defined(WIN32) && defined(FRONTEND)) > =A0=A0=A0=A0=A0=A0=A0 act.sa_handler =3D func; > -=A0=A0=A0=A0=A0=A0 sigemptyset(&act.sa_mask); > +=A0=A0=A0=A0=A0=A0 sigfillset(&act.sa_mask); > =A0=A0=A0=A0=A0=A0=A0 act.sa_flags =3D SA_RESTART; >=20 > I got 100 iterations passed (12 of them hanged) without that Assert > triggered. But those hangs were unrelated to the assert then, right? > > * I see special code paths for SIGIO and SIGURG that I didn't try to > > understand, but I wonder what would happen if we s/SIGURG/SIGXCPU/ >=20 > With sed 's/SIGURG/SIGXCPU/' -i src/backend/storage/ipc/waiteventset.c, = I > still got: > !!!wrapper_handler[8401]| postgres_signal_arg: 28565808, PG_NSIG: 33 > TRAP: failed Assert("postgres_signal_arg < PG_NSIG"), File: "pqsignal.c"= , Line: 94, PID: 8401 > ... > 2025-11-09 12:51:24.095 GMT postmaster[7282] LOG:=A0 client backend (PID= 8401) was terminated by signal 6: Aborted > 2025-11-09 12:51:24.095 GMT postmaster[7282] DETAIL:=A0 Failed process w= as > running: UPDATE PKTABLE set ptest2=3D5 where ptest2=3D2; > --- >=20 > !!!wrapper_handler[21000]| postgres_signal_arg: 28545040, PG_NSIG: 33 > TRAP: failed Assert("postgres_signal_arg < PG_NSIG"), File: "pqsignal.c"= , Line: 94, PID: 21000 > ... > 2025-11-09 13:06:59.458 GMT postmaster[20669] LOG:=A0 client backend (PI= D 21000) was terminated by signal 6: Aborted > 2025-11-09 13:06:59.458 GMT postmaster[20669] DETAIL:=A0 Failed process = was running: UPDATE pvactst SET i =3D i WHERE i < 1000; > --- > !!!wrapper_handler[21973]| postgres_signal_arg: 28562608, PG_NSIG: 33 > TRAP: failed Assert("postgres_signal_arg < PG_NSIG"), File: "pqsignal.c"= , Line: 94, PID: 21973 >=20 > 2025-11-09 14:56:23.955 GMT postmaster[20665] LOG:=A0 client backend (PI= D 21973) was terminated by signal 6: Aborted > 2025-11-09 14:56:23.955 GMT postmaster[20665] DETAIL:=A0 Failed process = was > running: INSERT INTO pagg_tab_m SELECT i % 30, i % 40, i % 50 FROM > generate_series(0, 2999) i; >=20 > The failure rate is approximately 1 per 30 runs. Is that the same failure rate you got before? Michael