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 1vrDOl-008xGI-07 for pgsql-bugs@arkaria.postgresql.org; Sat, 14 Feb 2026 11:01:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vrDOi-00HRi7-2I for pgsql-bugs@arkaria.postgresql.org; Sat, 14 Feb 2026 11:01:12 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vrDOi-00HRhz-1B for pgsql-bugs@lists.postgresql.org; Sat, 14 Feb 2026 11:01:12 +0000 Received: from mail-oa1-x2f.google.com ([2001:4860:4864:20::2f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vrDOc-00000000dFc-3WaV for pgsql-bugs@lists.postgresql.org; Sat, 14 Feb 2026 11:01:11 +0000 Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-409440b98b5so1140968fac.2 for ; Sat, 14 Feb 2026 03:01:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771066864; cv=none; d=google.com; s=arc-20240605; b=fIBcJkQR8cNfSh3Sc2HA0AG/Ktmonv5PBpLXpjyxeBczf4hA8URGYwYYPD5VkFP/+9 dcIv4cINKbZ32sAw9gnxht5blM5+bP2CTCAR1jF6/gpYM9wDNtFM1+VNGZsNpSJLIW5O IK74dIYD12QalBupVQEGvBjb9pz5Dhky1MOSVTIzx/vmMIcQH+BYpfdbmMthbXF6deoA PyIJkOp6PosV6+SeqXeQJrmKyHSiyaXuNtRpz8aPsm6fcr1Q9hhwKpi6s5TSNx9Inv6a VfjUcmtqPMuXBT42tTsJF912cBvYCTCfUjTQR7D6XBs4/nKS13Uw0nrXnsgpM6ggoIKj DK1g== 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=vCTuBiy0suBogHy3ZWPXcOCdjC8cdaUB8Od4giYXeOM=; fh=GidXX+j5YYQg2LlLcM1bKyho3OwuWqu9asWDUO64tgM=; b=CFF83OGPaFXeZQeVCFaph0lTkJHg3+GmrBQi7iJCnVLVI6JEJZq81KZzj/vAyUTp/1 gQiE8KwuaXzfP0tuGea430ebiEYtVnP2+GIkFWh17PLEDgkqGWbpXBDcX9iIy6stMLeu 1Z9AKwgox+QYlIDkHXy8RUm874BgqOk8hbndMUqUza+HQHAkk1BNc0zu443jLXDTfl/v g9Nuky4Ss6uTavhxKXSeSxl4M0bTnz3TKo/GJ+ngbPo689mE7ToLmrwMkizVU7afoI6L I0Qayp+6CfTc9l97G4B/qH7VonAH5Do+Hs363UqtcbJTlNH5bgC4nQaHarzzW4nwkNcX FosQ==; 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=20230601; t=1771066864; x=1771671664; 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=vCTuBiy0suBogHy3ZWPXcOCdjC8cdaUB8Od4giYXeOM=; b=iDdXp/EYjx57byW0fwl9bmZqEh7F+HXSVnMIowLjQRboO2IftX5zy0xJgJ/4gm8Q7m 6zCR5bOBLJsUm0Lfor0un6GoSwVqgJk34KBYpQ1wr8Xopyh9h65K8m4wWUMdcSqdakOf AgkgQX+TdZ+Kz+bociBkbfLrrOsJjAhw/jr3LWmuvW7uW31czb/aCps5D6WqSacr/f8P UEwm3rvRuA8T6oc4HUvQI/gYqu0qYnYo0ZdVsv9KV0ja+MiB5NpyBmwkf1jLCKdh6TG/ FEc+2hQLP0WjE+A1q13/ZvVsb0jgwyel8ynkBGPG0QFGombY/VxaXPK/rE/wTifOikCF z0qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771066864; x=1771671664; 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=vCTuBiy0suBogHy3ZWPXcOCdjC8cdaUB8Od4giYXeOM=; b=d51daST5QmxATACVpP0gIidqk31CzfN3JeHEk9EsWsjXewSMWxmf/uq6n5iL6ZGfeK IVP51JEIlvod8RNk3v43AjjO9ru0Dz7zwqx/z0dw2FJx+5KtgroxVVC/fxLQyHSHTZRf nTb+2G4aS0fiZBJrVtRfLvD30AZyaXUQPT1n8Y9x5b7Nvj7Umr5wHD8Ef/nRkl8xVe6a ecGX2lPEcghYYA0JWySp05ukZ06xOPJ0Kk4XHO+sewoWUTXrRaMsWuOYhxiOOmtP9hwz HbLy6sVYV1HfDY6gZJ9uzolu4e1Cr/sHGzqXoPqKNM8GyNpgn3DwX7OxX8Ceu/hdYKvH DEkA== X-Gm-Message-State: AOJu0YwHLEhq3wLJxrdJE1wivToSnPnuL5Pi/uYvUn/ixPVI1GyOG0Z0 cnl49J0eNSbR3ZVEz6kMNrMFLCbRHNMlwD1XQOPP2u4HayAQ/wc+tAIg/moAmWIgRGIuiXMhYwU HHN0/zFTAoQXT3pkrGR/JrncsyRPwGPI= X-Gm-Gg: AZuq6aJl+GIduPRUNI6HayKvOQ8HzdtsFkXICtmCHtQ6dKE+7gDPGqT4gwV/dg53BtU cFNp2PpTmMTsMopxDAhe1cW5dj7K3KAPRuGZ86LkVYsileELmhNhf+quAgY6ghSBxwGt7iywess WZIfthS6Zg2nE/b3utqRJSVvD5gWw7qTaH+l9kGulH7OF+C2SuIbW2eCgz+xt8WdjA9SvBpMAAS rdHqlyy+AliQP211Hzb5lEf+dY61lSF5M/EuFIP8tNedbI5rXGnXMZHoV44mkz9qBRWoaGZr0Hw +TKLAjwkLoA993JkJ9c= X-Received: by 2002:a05:6871:4308:b0:3fa:eb8:4c92 with SMTP id 586e51a60fabf-40ef3ff8538mr2894449fac.50.1771066863352; Sat, 14 Feb 2026 03:01:03 -0800 (PST) MIME-Version: 1.0 References: <19405-1ecf025dda171555@postgresql.org> In-Reply-To: From: Richard Guo Date: Sat, 14 Feb 2026 20:00:51 +0900 X-Gm-Features: AZwV_QgXZiy3dpW6aaYngCJIP8LJFg3EAq4yBe1XATLaza8DKfnVqd3zkn3Tk2c Message-ID: Subject: Re: BUG #19405: Assertion in eval_windowaggregates() fails due to integer overflow To: Alexander Lakhin Cc: pgsql-bugs@lists.postgresql.org 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 On Sat, Feb 14, 2026 at 7:00=E2=80=AFPM Alexander Lakhin wrote: > The patch works for me, but I've just discovered one more similar anomaly= : > SELECT SUM(i) OVER (ROWS BETWEEN 0x7fffffffffffffff FOLLOWING AND 1 FOLLO= WING), i FROM t; > > ERROR: XX000: window frame head moved backward > LOCATION: eval_windowaggregates, nodeWindowAgg.c:782 Right, I noticed this one too. Basically, nodeWindowAgg.c doesn't check for overflow when adding startOffsetValue or endOffsetValue. Since these values are provided by the user and can be arbitrarily large, simple addition does not seem safe. I think we may need to switch to overflow-aware integer operations in all relevant code. - Richard