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 1wAiRD-000FsM-0g for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Apr 2026 06:00:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wAiRA-003pcz-2g for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Apr 2026 06:00:21 +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 1wAiRA-003pcr-1Z for pgsql-hackers@lists.postgresql.org; Thu, 09 Apr 2026 06:00:21 +0000 Received: from mail-oo1-xc36.google.com ([2607:f8b0:4864:20::c36]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wAiR9-000000007Fn-1PJ1 for pgsql-hackers@lists.postgresql.org; Thu, 09 Apr 2026 06:00:20 +0000 Received: by mail-oo1-xc36.google.com with SMTP id 006d021491bc7-662f30d3f1fso295609eaf.1 for ; Wed, 08 Apr 2026 23:00:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775714419; cv=none; d=google.com; s=arc-20240605; b=kyLF+MN2LHMreO9Ell7gz6RVrHFKv8pr3dfPQMSkxo5w9bq8cXZY/9DEV6E6klBS9X F7Ed5MfNDc7xVHSCLWTaUhePzkoSDQdKb/EqZsKLeX5ixFf5rEvKQMqvXuR6Bb+Wz71Q W2viuy2Ssn5e3O1RYhIrlXRgtq9L/aF//gcXNu4fN7i6jT1w4df8OkSCjJr7OkA5a2ib LYQAcWudAqd0OMGq8gGhpB1m/Tgqe1JhHP0oApoV/kW0iot1lCd5aefDJo7iykgvuJMN wDpZrUpwn6TFcfr5xv4EHNIDAB4GfA2WXhNLytmUd7jGY11XV5BhldidNl5qucN8ku0T /Ttg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Ccb+sN/JoYnKVekBxKVttylnkianT9Sza7JBr/+yolk=; fh=+FPMTz6MYkz9woeJDV0alY0cBJucDoa2IDft2XEQKIM=; b=XeF4zFI2jZ9L4Xs23vXQPqddVqvqgyWH+DSsKMkA4n2ljEJ8VIECpLAr45wwwDVuNM rRHK4C7eHHHdOl81Ml6saQ+dPVxynAC/2f68j27EkU7iZOikOmL+5idCeuJKQHkhTYrD qUDLyoshZr7YCKuHk89NnLWPzPLNrhn69emFecVO7CAaqjUDyDV7IKIbHm4Nklgry6BH Ls6mb/y03/vVJNdL3v5QGpFvVNORafmXd+IV5NiBoRT8cU2w4qxaWcFBmH07yjlIyGFH EWUINXe1in5yah+s3aB9dfGZex194Yai9akUvgRe0X60I1rFCMxdP1XC0D760/CLR9Ju NDjg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775714419; x=1776319219; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Ccb+sN/JoYnKVekBxKVttylnkianT9Sza7JBr/+yolk=; b=TiR4cSlkUjpnFkjfH+g1MfTY+Jdc3X1rT7FhqJTYhFczFYc+Dj1OgxtqXcCcsQcHlg EkIKhSTw9N5IrMMNHt5pdC3ZNfTSbo2wzofMV1sD8CfOfNkuhE+45MfFtsSk/oI06vKx oiaQ4BOkB/6QnMorluaOz92xwi9LuWXjlO7Wd4KglKcLqCjYBjOiVHKlG4/LJcL84aPs +Z6Er0DIBTvnoE0gYXRYrm+pcP5nhpVtVNjlVqjI4BXwlIDdosNJFWQtJ7Pbg+FeNv8p CSpjscVX1TJD2FkIlvRTEKf/1clBSfnrnnqW7XXggVWpFlY3OsVdFdgfU/B36sKLUJVj yl5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775714419; x=1776319219; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Ccb+sN/JoYnKVekBxKVttylnkianT9Sza7JBr/+yolk=; b=kbRkDfyopgIVoB1dtGSdUblGK+uES1PIT0/ypfEox19bBHH7kPvah5OcawMiY8GWJ7 ler1HZtIF8niK3NrUYb917qb9dW0pGan0VSVHyLW+1dtUpDVLqhpA2DlSqZ1Iy/8LqnD w0IyaJhEPVcVKDkbz9B8ZwfRDDBTQy7uad97wCadZ9I5C3dOYk32HrEAzykliZWCYRMm ivg/0CaX62dpDLhj8NNlLnkA5Tp1hgjOvAsjRmmgAztFQNO1rDG3RX0TCh81Mz8FkjeQ Wp4CdbIunOFk9CRpNJU9DeCeSlM/PrWFqW+jYeUANzbiylYYbk1NkFB72qBUonwyAKEJ nt6w== X-Gm-Message-State: AOJu0YzbiJXe5S02xIKIxZLbo0PEvGGX7wncoB6tgY6EUQHcdp2pY+Zt hbKKnX9w460yigzxcT9gYK2BsmPJrGzxgGLD4RQ8zcJdTb3IFeXGIU0qmud4kTWBo7wokZQWH/u Fh/B1EMgNuZWv6Se4CjPO2vZiQhXQpU4= X-Gm-Gg: AeBDieuDGMsp4pTGUl/9I322lB4sVGuudefIa8CsTv7y+2ByTbpQhpgrkLe9HAYdEBh oJBZrWxTDkegPhPTR035q9nMxY9h+yzW3WI1jgi+qOS+075qcJdUI5958JMmQeqje1PoW8JBHFa 0edaY5yg5BAacG+9MWmDUKHAgFg6q0H7iVRtckvwRMzOL3kyMwqBtpJEHQhKfqRMv5uev5jFxdP KEWNQcfI0PG8/WrAVFkdcCbBqLM1A+PHsicJwLUl4XBIKD8XOOCXbBEyAsGziTAoFzeEXrM89AW iO/M/imSQqy//JjfniWgwQjjmNsbspvSZjWZpPE9/5YlTXcJsYu+YaxNZtM0Ed86HzWmCGi17dx XNNlL8WpRajK2OxKoSjIiCEKUk1uap99TvZE0ZMXB2U5CLkRB5g== X-Received: by 2002:a05:6820:6081:b0:688:96d4:61e2 with SMTP id 006d021491bc7-68a6a5b9d4amr796562eaf.23.1775714419082; Wed, 08 Apr 2026 23:00:19 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Alexander Korotkov Date: Thu, 9 Apr 2026 09:00:06 +0300 X-Gm-Features: AQROBzAOy_1stHkOLNmtcdpKmhY4cs6sjab_5U9Bvpy05Gxzg5rs2akC7l5NU00 Message-ID: Subject: Re: Bug: WAIT FOR LSN crashes with assertion failure inside PL/pgSQL DO blocks and procedures To: SATYANARAYANA NARLAPURAM Cc: PostgreSQL Hackers , PostgreSQL-development Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, Satya! On Thu, Apr 9, 2026 at 5:03=E2=80=AFAM SATYANARAYANA NARLAPURAM wrote: > An assertion failure (server crash in assert-enabled builds) occurs when = WAIT FOR LSN ... INTO is used inside PL/pgSQL DO blocks or within void proc= edures. > > Repro: > > -- Run this on a standby > > CREATE PROCEDURE test_wait() > LANGUAGE plpgsql AS $$ > DECLARE > result text; > BEGIN > WAIT FOR LSN '0/1234' INTO result; > RAISE NOTICE '%', result; > END; > $$; > CALL test_wait(); > > > The WAIT FOR itself succeeds, but the very next PL/pgSQL statement that r= equires a snapshot crashes the backend with: > > TRAP: failed Assert("portal->portalSnapshot =3D=3D NULL"), > File: "pquery.c", Line: 1776 > > Attached patches for both the test case and a potential fix. Please revie= w. Thank you for reporting. But I doubt the fix is correct. Even that this particular might work OK, I don't think it's safe to release snapshots belonging to functions/procedures: it might affect them. I tend to think we must forbid wrapping WAIT FOR LSN with functions/procedures. I'll explore more on this today. ------ Regards, Alexander Korotkov Supabase