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 1vqpe8-001P38-0F for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Feb 2026 09:39:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqpe7-00DOOC-0y for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Feb 2026 09:39:32 +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 1vqpe6-00DOO4-38 for pgsql-hackers@lists.postgresql.org; Fri, 13 Feb 2026 09:39:31 +0000 Received: from mail-yx1-xb131.google.com ([2607:f8b0:4864:20::b131]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vqpe4-00000000T0U-32SW for pgsql-hackers@postgresql.org; Fri, 13 Feb 2026 09:39:31 +0000 Received: by mail-yx1-xb131.google.com with SMTP id 956f58d0204a3-649df393c04so623272d50.1 for ; Fri, 13 Feb 2026 01:39:28 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1770975566; cv=none; d=google.com; s=arc-20240605; b=DqIy7hLSQ2e84eKReXBai+bOPTEfFP8RH6vFt3ZIV5yaskoXuKEKt5tib9j+jkhK2Z O6RGrQQf5WrFs41P+waSoU4C4UwdUTeqtMMrN/OYG6pIuLjuvjcKziUHgXdeJuWsTnMN UFiWdZABC5IM6E3ZPSL3j+nqyWxK1ifUKyvSb294nNEbV493uUcaMX/mKpL7sQXSjIxs RVpNmzBuzq3+Hw4GRLtv6EJRrxSjqJjMvoRGFWcJeoTc/b8cZM7VnL2LL51DWMszoX0j hqn23xXA1zvwieLdXsa3FLTQpJji1M7IiamjdA+x4dj93XCMuNalqvUqTJ9ckuFIW/7W 0/Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=4gBOW/zl5zZaFR/kcNCbLGy5GO/9fQphwjk4b2D1t0k=; fh=waPnKahtqrjL6e5lDHONXgAYWW+1/EnTYqDmUsP0vmM=; b=aCC94w/TyaXJZwFcXleJM1s4HGjy6cCFgEpDUqLiowIcpcPvLpNRF/iHsLcychOBlG P59NKYeGVkMFH5g1H4MpDTKNiQ5tkQFtY8fxfRmIijfmvCMLeirnZUerhq7GsGfbIi/t MZEHqnPV/Cs0iTlcqzLNbTQq3rVr3y8qBjb0ASRdNpXcXXymRXT0SAwA5iSYqZq1BHH/ Iyfet+f9weKHmjqlBNvO/CecD38D1TtF73BoddUMqPVn/a+jlUwo25HK44cbzbwfHpyj Bkmj1vYIW4o2XR7Bg36qzBWYzJ8MJcvlN1Nea0HUDIPDb7bCDlv3ZnDYzWuwuQWsAgis 4y/Q==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datadoghq.com; s=google; t=1770975566; x=1771580366; darn=postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=4gBOW/zl5zZaFR/kcNCbLGy5GO/9fQphwjk4b2D1t0k=; b=IubRCSzUPolygYW37VNl8+bR5BIJEq76xTXNiOnSL+sH3qQrUDHhP3Q5gou7H5QsQN L5uklrQjujvDYf0uFX0ew722Eo0v1NHtE9N3FLP+4kAY1GizU63VlX+0kTUU1dRa2ZQM WQg3gU+4X0ArSZSmmYtE153KmDR5HBN+9IeVs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770975566; x=1771580366; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4gBOW/zl5zZaFR/kcNCbLGy5GO/9fQphwjk4b2D1t0k=; b=b1tKZt1HyZALXpMJ3YcdVp3qZIymHhzyPlcmMPmRRN5YtWNQFsYz3ChAUt7AbV52hw LsVdE8xALF6IE/99cVSSoOMfTUsZQDmjWJkHrnpv24aAjbFqzyBW/Dps2oW4niskGAkT 2hazEtKahqITD/UueNNihqCXyPgJtnaQ+blk/Xx1SelnA3EsbZzY4Gt3cPnYnWnVMSTa OjBzUOdR72XAZ20qsnTpK2wGo3gzEUu3FAJ881Hy/9IVl5ooGqsf6x5Bvwor9UY8yDLa RD7MZZe6ftqq0J6Xr5Bs6Hnoxr4RtTPMaxXNuDGNmAFe/J63JPi7BRjwIBsQg3mnFRrR 4n3Q== X-Gm-Message-State: AOJu0YxrUbW/FbmAMHy5j4+wffNy5rLvAflHs/V2N5/GZ39VWpmy5Ldr oFtK6gAek8HUCXyIiygVNLbbRiLA4d1Wx6O/f6w+5IZi2R26VdfVQLbeRBBeIrXIpQBLvgK3luP sLCMpsJYFNY6mOU7n8wr+QlXkEMPtDd85fZFh6MhZHlvriW7JHmPPvk1QuA== X-Gm-Gg: AZuq6aJn5KyIUWP3d/IZthE7cj97uooXR21xsvnXIh8IrGB6MPjbwvwwaVc86hDhwz9 OJXdZpKTiDyGkjT2I+vA1fxuiKSi/dCEwXcPpknClgUsAkPw9RJfWtFn7XuTUgAx4S7uZYRVshi zsWpuO1bF8YweS68CGjpT62xx8ErE1Ozp7qb31ZfSoBihQclch5b5hOX+8fi5eZtJV5OE9dR26R Lo8gbB9Wu/HuUlNXSYuIHcNe1NPQIO/cUgriOw3VlV0c4SNriJiL/U4QIgsU7ztHtOZmhZWaYHK RFGs/A== X-Received: by 2002:a05:690e:1186:b0:64a:ea64:b684 with SMTP id 956f58d0204a3-64c197c6a78mr802628d50.21.1770975565697; Fri, 13 Feb 2026 01:39:25 -0800 (PST) MIME-Version: 1.0 From: Anthonin Bonnefoy Date: Fri, 13 Feb 2026 10:39:14 +0100 X-Gm-Features: AZwV_QhqPf3Mujdx5BFMcRW_25trZRjjCnWRAcXrb7mT_PcCei-eS9btQElZbw0 Message-ID: Subject: Fix uninitialized xl_running_xacts padding To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000814053064ab161af" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000814053064ab161af Content-Type: text/plain; charset="UTF-8" Hi, While looking at the generated WAL, I've found out that RUNNING_XACTS records contain data from uninitialized padding bytes. This can be seen by generating a simple WAL with "SELECT pg_switch_wal(); CHECKPOINT;" Finding the position of the running_xacts record with pg_waldump: rmgr: Standby len (rec/tot): 54/ 54, tx: 0, lsn: 0/02D001D0, prev 0/02D00198, desc: RUNNING_XACTS nextXid 803 latestCompletedXid 801 oldestRunningXid 802; 1 xacts: 802 And getting the content of the running xacts record, skipping the 24 bytes of record header: hexdump -C -s $((0x1d0 + 24)) -n 30 00000001000000000000002D Which yields the following: ff 1c 01 00 00 00 00 00 00 00 00 ca ce 9b 23 03 00 00 22 03 00 00 21 03 00 00 22 03 00 00 Looking at the xl_running_xacts, structure, we have the following: id: ff length: 1c xcnt: 01 00 00 00 subxcnt: 00 00 00 00 subxid_overflow: 00 padding: ca ce 9b nextXid: 00 00 22 03 ... The 3 bytes of padding after subxid_overflow were left uninitialized, leading to the random 'ca ce 9b' data being written in the WAL. The attached patch fixes the issue by zeroing the xl_running_xacts structure in LogCurrentRunningXacts using MemSet. Regards, Anthonin Bonnefoy --000000000000814053064ab161af Content-Type: application/octet-stream; name="v1-0001-Zero-pad-bytes-of-xl_running_xacts.patch" Content-Disposition: attachment; filename="v1-0001-Zero-pad-bytes-of-xl_running_xacts.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mlkonh3m0 RnJvbSA1NTViMWRkZjRkYWE5ODNhNTM5YTFlZjA0NjFiZmZlMTVmOGQ1NzExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRob25pbiBCb25uZWZveSA8YW50aG9uaW4uYm9ubmVmb3lA ZGF0YWRvZ2hxLmNvbT4KRGF0ZTogRnJpLCAxMyBGZWIgMjAyNiAwOToyMjo0NSArMDEwMApTdWJq ZWN0OiBaZXJvIHBhZCBieXRlcyBvZiB4bF9ydW5uaW5nX3hhY3RzCgp4bF9ydW5uaW5nX3hhY3Rz IGhhcyAzIHBhZGRpbmcgYnl0ZXMgYWZ0ZXIgc3VieGlkX292ZXJmbG93IHdoaWNoIGFyZQpjdXJy ZW50bHkgdW5pbml0aWFsaXplZC4gV2hlbiB0aGUgc3RydWN0IGlzIHdyaXR0ZW4sIHRob3NlIHVu aW5pdGlhbGl6ZWQKYnl0ZXMgYXJlIGFsc28gd3JpdHRlbiBpbiB0aGUgV0FMLgoKVGhpcyBwYXRj aCBlbnN1cmVzIHRob3NlIHBhZCBieXRlcyBhcmUgemVyb2VkLgotLS0KIHNyYy9iYWNrZW5kL3N0 b3JhZ2UvaXBjL3N0YW5kYnkuYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jIGIvc3JjL2Jh Y2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jCmluZGV4IDdmYThkOTI0N2UwLi40ZGI5NDRjM2Ex NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jCisrKyBiL3Ny Yy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnkuYwpAQCAtMTM1NSw2ICsxMzU1LDcgQEAgTG9n Q3VycmVudFJ1bm5pbmdYYWN0cyhSdW5uaW5nVHJhbnNhY3Rpb25zIEN1cnJSdW5uaW5nWGFjdHMp CiAJeGxfcnVubmluZ194YWN0cyB4bHJlYzsKIAlYTG9nUmVjUHRyCXJlY3B0cjsKIAorCU1lbVNl dCgmeGxyZWMsIDAsIHNpemVvZih4bF9ydW5uaW5nX3hhY3RzKSk7CiAJeGxyZWMueGNudCA9IEN1 cnJSdW5uaW5nWGFjdHMtPnhjbnQ7CiAJeGxyZWMuc3VieGNudCA9IEN1cnJSdW5uaW5nWGFjdHMt PnN1YnhjbnQ7CiAJeGxyZWMuc3VieGlkX292ZXJmbG93ID0gKEN1cnJSdW5uaW5nWGFjdHMtPnN1 YnhpZF9zdGF0dXMgIT0gU1VCWElEU19JTl9BUlJBWSk7Ci0tIAoyLjUyLjAKCg== --000000000000814053064ab161af--