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 1wVm4d-002BSQ-1c for pgsql-hackers@arkaria.postgresql.org; Sat, 06 Jun 2026 08:08:07 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wVm4a-00Ff9P-2X for pgsql-hackers@arkaria.postgresql.org; Sat, 06 Jun 2026 08:08:04 +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 1wVm4a-00Ff9H-1I for pgsql-hackers@lists.postgresql.org; Sat, 06 Jun 2026 08:08:04 +0000 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wVm4X-00000001YqY-3o6T for pgsql-hackers@lists.postgresql.org; Sat, 06 Jun 2026 08:08:03 +0000 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-45ee6d32402so1440710f8f.1 for ; Sat, 06 Jun 2026 01:08:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780733275; cv=none; d=google.com; s=arc-20240605; b=KpuBmdxqbNEAw3a9s0Se7LCEcLIZtS/nlUJlYeM18Le5yrpZKtQNvwp5le1SXti9NR Ofxg5wNkI4Cr7UfAMaruwe34Rb0kgllepoWdFgjpJbm1uTzo5Gn1xfv+fmsUL+3tol6p QW0cb/tGsKkgY7Li2TfFt3YODwngYv3kMEcLRFfWdJO6ZCnwcNd5fvsUwHGsfJsbFie8 38Q1S/yHzD83zapyMdvR2o3ZwMUlwHTCmZzHo4gnrF2YkPp/jdraZqGUsiqS4fmYdzGY e0XsUNLgDjiLlpJkTPeJQjz9NiDGEK1SC8f6a3qAEZ8u2vQ6L5jquQ+RQfMsnvp8D2AX WoQQ== 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=lKRuhWTEPq/xZqctGlPvj52h1K+aI+/CZ0YP3AQagsM=; fh=4JqEfrqGwS/fLifRIRsBB96U/nvH0xHkrjIOOYIP8+Y=; b=IA9zo7BWiuf7sqQHREzu4GXx/sXQL0G0kUy9WDWu0u2NVPsJQzUr065u2Oii+6+pSK egHnk3BTUqGy+9tlxAK4Mc99Hu7aIMExri14MTZlPWzis5gUKR97hHvTGMIR2MGXjX+d 62SLSLUXHaXgDG4nM0yrbNwDDaiJ1sEMcCJV+llFR9wWPbsXvyOTIcAB4ZADEWg8VqFH sqGYgrV+cOfCEWa9hUlGSaBoDQfbFWVhX9sdtCseRMs4EwFIfCwYc9DKYt9jh117jeOt JfZWJyqL9beKCkTtC8yKZRacZBTldRq/VGsicgkPFNHF483PZ9q3n77pTuTpK+LnvD7M v19Q==; 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=1780733275; x=1781338075; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=lKRuhWTEPq/xZqctGlPvj52h1K+aI+/CZ0YP3AQagsM=; b=a0herg65RlOqQtlcEd6B0AYBKrCLI+LYdqCgzdl1AhZUgQC7lY/FQMTZ2boE/pgMHd 04rjSytzSF3C+iKW130+aWDFF00uPDycrF2hX8mWTzVVy7IazqPIrjILgfwZGywCXQpE s834r28nljeYbVmhed8mP6D7mRa67a+pbTt614RgPnl5/idsTGqz+XZQ9Z6N62N0/jdN SG4fLZpE8rnViEnKY7aVxIMaEN2rsFq6LI0uHyW47/Vf97kNzEbComvIKBHHfnZ1t+BK N+74gwMC3gS2aslzrrAfnsQOqJ1mULvflib+4cyj3AQdV2iy6m89a8rD24rmlxbmYTye 2OvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780733275; x=1781338075; 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=lKRuhWTEPq/xZqctGlPvj52h1K+aI+/CZ0YP3AQagsM=; b=ck1sY/oZ/iPOECNW/p4eIG4ysDsO+TBQfiQfGRoXTOaKWOOmqfP49VZk89jmas1o92 A+d9/bGIbrPnj4TVIFrlTjeo6kzStcueqFUcf2aP5qH3plij5A8Frx7AbfGdzairDFs9 iV6joeigJJek0WnUJQGxpDlUpX7rikG1dffok+AKoP6Xa0boWxeVnoQVvRUV+/K9Zw5e 9IqknRkgYUAx/+Lv0dEHcjfyxvTqjLnh/yuqRLF/0EZHGMKTSxY2fXNG9GUhRGyMwXob zZOXCBOJ8E6E4hMuHJImbA41QXfgpeNJzKuD7vmWWxbgpUDvjPgDdyX9du5Fa/iUUu+b edUA== X-Forwarded-Encrypted: i=1; AFNElJ8FE7e2b8a6U9dKaV/LHzArq9Xcf079O+p4mtdmyKajZwZhfsyA67aUpSo1M/laxR27yszXwntwjRz/mkPH@lists.postgresql.org X-Gm-Message-State: AOJu0Yyo9Eymi/26Uv7yABrCpu0IuKEq0VOlo6pqapVNiMnlC7oH0dG5 zY13yb44ycaFLsf/B0CNaluF2bLcnAXrNav8h5IlbL+pNuVaYDi+wwoBVhHoCJOL25oyL34PGPE G/V4CkJzDu9WDg3NWsFzZPXDzstCNLWeH5KMx X-Gm-Gg: Acq92OGJ2htzZ69t5cUSVifTJYWzCzLH6taGmEmvQYk4k7FcaflXFG3zvVQMI/gN48U ZVQ2AHkDdwtARrju/R1B8w6WAPxrp0E0JWmKUwVFToPbI2sYwqLHRgOu5SP0Ajzs1XC27r+ni6I lvnXXVRwA/Mnx+zWMgh9kZDcWc9Qyq4zoDY4lvhOcqLRKPtEFsFuc8Apd7fgXNvbHk1hhpsHl5V KA0hOIoPQEVXcYZJPQxvs4JI6OLhs/gcRZ/GnZvWLOC/wYPirZhyGIDgPwE3m5hsa+wN+N4g985 XCHWyL8PeF69Mjxrfwn2/7+KNvGhhZ+gzljbsgtg7OmtRRkp6kIygl+3w9lba/uU4vMB0QG53dm gUjucFpyN9a07SsZdIZdcur4Mr5lMgK02wV5ZsIn0N92XlSqhBIqisuZMWya4usQYUjTwScFr X-Received: by 2002:a05:6000:469a:b0:45e:d6b2:e6a5 with SMTP id ffacd0b85a97d-4603075dedcmr8406430f8f.34.1780733274594; Sat, 06 Jun 2026 01:07:54 -0700 (PDT) MIME-Version: 1.0 From: Ashutosh Bapat Date: Sat, 6 Jun 2026 13:37:42 +0530 X-Gm-Features: AVVi8CcSYoCdGuo35oqdgFqsHXhvF4M7CD0OkU8wu7Jm_Du2zUH_RjU-EW4RWXQ Message-ID: Subject: GetBufferDescriptor() being called for local buffers from MarkBufferDirtyHint() To: Andres Freund , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="00000000000045c0b7065391462e" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000045c0b7065391462e Content-Type: text/plain; charset="UTF-8" Hi Andres, 82467f627bd478569de04f4a3f1993098e80c812 added MarkBufferDirtyHint() which invokes GetBufferDescriptor() even for local buffers for which id < 0. Since GetBufferDescriptor() declares id as uint32, -1 is converted to a very large int32 value which is way larger than NBuffers. Thus GetBufferDescriptor() may be returning something from the BufferBlocks which probably has enough memory to accommodate that memory access. But it's a bogus BufferDesc nevertheless. We are not seeing any problem with this right now since MarkBufferDirtyHint() uses the BufferDesc only when it's a shared buffer. Right fix is to let that function handle local buffers first and then call GetBufferDescriptor() as in the attached patch. I caught this because of an Assertion added in GetBufferDescription() in my shared buffer resizing patches. I think it's worth committing that assertion and the related change to BufferManagerShmemInit() separately from shared buffer resizing patches. Included those changes in the attached patch as well. -- Best Wishes, Ashutosh Bapat --00000000000045c0b7065391462e Content-Type: text/x-patch; charset="US-ASCII"; name="v20260606-0001-MarkBufferDirtyHint-calls-GetBufferDescrip.patch" Content-Disposition: attachment; filename="v20260606-0001-MarkBufferDirtyHint-calls-GetBufferDescrip.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mq22lfn80 RnJvbSBmNjZkZDhkNTI2NDUxNzgwNzc1YWEyYTkxZGU3ZjE3ODFhZGJiYzczIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBc2h1dG9zaCBCYXBhdCA8YXNodXRvc2guYmFwYXQub3NzQGdt YWlsLmNvbT4KRGF0ZTogU2F0LCA2IEp1biAyMDI2IDEzOjIxOjUwICswNTMwClN1YmplY3Q6IFtQ QVRDSCB2MjAyNjA2MDYgMS82XSBNYXJrQnVmZmVyRGlydHlIaW50KCkgY2FsbHMKIEdldEJ1ZmZl ckRlc2NyaXB0b3IoKSBmb3IgbG9jYWwgYnVmZmVycwoKODI0NjdmNjI3YmQ0Nzg1NjlkZTA0ZjRh M2YxOTkzMDk4ZTgwYzgxMiBhZGRlZCBNYXJrQnVmZmVyRGlydHlIaW50KCkgd2hpY2gKaW52b2tl cyBHZXRCdWZmZXJEZXNjcmlwdG9yKCkgZXZlbiBmb3IgbG9jYWwgYnVmZmVycyB3aGljaCBoYXZl IG5lZ2F0aXZlIGJ1ZmZlcgppZGVudGlmaWVycy4gU2luY2UgR2V0QnVmZmVyRGVzY3JpcHRvcigp IGRlY2xhcmVzIGlkIGFzIHVpbnQzMiwgYSBuZWdhdGl2ZQppbnRlZ2VyIHBhc3NlZCB0byBpdCBp cyBjb252ZXJ0ZWQgdG8gYSAzMiBiaXQgaW50ZWdlciB2YWx1ZSB3aGljaCBpcyB3YXkgbGFyZ2Vy CnRoYW4gTkJ1ZmZlcnMuIFRodXMgR2V0QnVmZmVyRGVzY3JpcHRvcigpIG1heSBiZSByZXR1cm5p bmcgYSBwb2ludGVyIGluc2lkZQpCdWZmZXJCbG9ja3Mgd2hpY2ggcHJvYmFibHkgaGFzIGVub3Vn aCBtZW1vcnkgdG8gYWNjb21tb2RhdGUgdGhhdCBtZW1vcnkgYWNjZXNzLgpCdXQgaXQncyBhIGJv Z3VzIEJ1ZmZlckRlc2MgbmV2ZXJ0aGVsZXNzLiBXZSBhcmUgbm90IHNlZWluZyBhbnkgcHJvYmxl bSB3aXRoCnRoaXMgcmlnaHQgbm93IHNpbmNlIE1hcmtCdWZmZXJEaXJ0eUhpbnQoKSB1c2VzIHRo ZSByZXR1cm5lZCBCdWZmZXJEZXNjIG9ubHkKd2hlbiBpdCBpcyBhIHNoYXJlZCBidWZmZXIuIEZp eCBpdCBieSBsZXR0aW5nIE1hcmtCdWZmZXJEaXJ0eUhpbnQoKSBoYW5kbGUgbG9jYWwKYnVmZmVy cyBmaXJzdCBhbmQgdGhlbiBjYWxsaW5nIEdldEJ1ZmZlckRlc2NyaXB0b3IoKS4KCkluIG9yZGVy IHRvIGNhdGNoIGJvZ3VzIEJ1ZmZlckRlc2NzIHJldHVybmVkIGJ5IEdldEJ1ZmZlckRlc2NyaXB0 b3IoKSwgYWRkIGFuCmFzc2VydGlvbiBpbiBHZXRCdWZmZXJEZXNjcmlwdGlvbigpIHRvIGNoZWNr IHRoYXQgdGhlIGJ1ZmZlciBpZGVudGlmaWVyIGluIHRoZQpCdWZmZXJEZXNjIGlzIGluZGVlZCB0 aGUgZXhwZXRlZCBvbmUuIEJlY2F1c2Ugb2YgdGhpcyBhc3NlcnRpb24gd2UgY2FuIG5vdCByZWx5 Cm9uIHVzaW5nIEdldEJ1ZmZlckRlc2NyaXB0b3IoKSBpbiB0aGUgaW5pdGlhbGl6YXRpb24gY29k ZS4gSGVuY2UgY2hhbmdlCkJ1ZmZlck1hbmFnZXJTaG1lbUluaXQoKSB0byBhY2Nlc3MgQnVmZmVy RGVzY3JpcHRvcnMgZGlyZWN0bHkuCgpSZXBvcnRlZCBieTogQXNodXRvc2ggQmFwYXQgPGFzaHV0 b3NoLmJhcGF0Lm9zc0BnbWFpbC5jb20+CkF1dGhvcjogQXNodXRvc2ggQmFwYXQgPGFzaHV0b3No LmJhcGF0Lm9zc0BnbWFpbC5jb20+Ci0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVm X2luaXQuYyB8IDMgKystCiBzcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3IuYyAgIHwg NCArKy0tCiBzcmMvaW5jbHVkZS9zdG9yYWdlL2J1Zl9pbnRlcm5hbHMuaCAgIHwgNiArKysrKy0K IDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zl9pbml0LmMgYi9zcmMvYmFja2Vu ZC9zdG9yYWdlL2J1ZmZlci9idWZfaW5pdC5jCmluZGV4IDE0MDdjOTMwYzU2Li41YjU3MDNlMTAx MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmX2luaXQuYworKysg Yi9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZfaW5pdC5jCkBAIC0xMjQsNyArMTI0LDgg QEAgQnVmZmVyTWFuYWdlclNobWVtSW5pdCh2b2lkICphcmcpCiAJICovCiAJZm9yIChpbnQgaSA9 IDA7IGkgPCBOQnVmZmVyczsgaSsrKQogCXsKLQkJQnVmZmVyRGVzYyAqYnVmID0gR2V0QnVmZmVy RGVzY3JpcHRvcihpKTsKKwkJLyogR2V0QnVmZmVyRGVzY3JpcHRvcigpIGV4cGVjdHMgYnVmX2lk IHRvIGJlIHNldCBpbiB0aGUgZGVzY3JpcHRvci4gKi8KKwkJQnVmZmVyRGVzYyAqYnVmID0gJihC dWZmZXJEZXNjcmlwdG9yc1tpXSkuYnVmZmVyZGVzYzsKIAogCQlDbGVhckJ1ZmZlclRhZygmYnVm LT50YWcpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZtZ3Iu YyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jCmluZGV4IGNjMzk4ZGIxMjRk Li5kNmMwY2MxZjZkNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVm bWdyLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKQEAgLTU4MzEs OCArNTgzMSw2IEBAIE1hcmtCdWZmZXJEaXJ0eUhpbnQoQnVmZmVyIGJ1ZmZlciwgYm9vbCBidWZm ZXJfc3RkKQogewogCUJ1ZmZlckRlc2MgKmJ1ZkhkcjsKIAotCWJ1ZkhkciA9IEdldEJ1ZmZlckRl c2NyaXB0b3IoYnVmZmVyIC0gMSk7Ci0KIAlpZiAoIUJ1ZmZlcklzVmFsaWQoYnVmZmVyKSkKIAkJ ZWxvZyhFUlJPUiwgImJhZCBidWZmZXIgSUQ6ICVkIiwgYnVmZmVyKTsKIApAQCAtNTg0Miw2ICs1 ODQwLDggQEAgTWFya0J1ZmZlckRpcnR5SGludChCdWZmZXIgYnVmZmVyLCBib29sIGJ1ZmZlcl9z dGQpCiAJCXJldHVybjsKIAl9CiAKKwlidWZIZHIgPSBHZXRCdWZmZXJEZXNjcmlwdG9yKGJ1ZmZl ciAtIDEpOworCiAJTWFya1NoYXJlZEJ1ZmZlckRpcnR5SGludChidWZmZXIsIGJ1ZkhkciwKIAkJ CQkJCQkgIHBnX2F0b21pY19yZWFkX3U2NCgmYnVmSGRyLT5zdGF0ZSksCiAJCQkJCQkJICBidWZm ZXJfc3RkKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvYnVmX2ludGVybmFscy5o IGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9idWZfaW50ZXJuYWxzLmgKaW5kZXggODk2MTVhMjU0YTMu LjEwMGI1MjcyYTdhIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9zdG9yYWdlL2J1Zl9pbnRlcm5h bHMuaAorKysgYi9zcmMvaW5jbHVkZS9zdG9yYWdlL2J1Zl9pbnRlcm5hbHMuaApAQCAtNDIxLDcg KzQyMSwxMSBAQCBleHRlcm4gUEdETExJTVBPUlQgQnVmZmVyRGVzYyAqTG9jYWxCdWZmZXJEZXNj cmlwdG9yczsKIHN0YXRpYyBpbmxpbmUgQnVmZmVyRGVzYyAqCiBHZXRCdWZmZXJEZXNjcmlwdG9y KHVpbnQzMiBpZCkKIHsKLQlyZXR1cm4gJihCdWZmZXJEZXNjcmlwdG9yc1tpZF0pLmJ1ZmZlcmRl c2M7CisJQnVmZmVyRGVzYyAqYmRlc2MgPSAmKEJ1ZmZlckRlc2NyaXB0b3JzW2lkXSkuYnVmZmVy ZGVzYzsKKworCUFzc2VydChiZGVzYy0+YnVmX2lkID09IGlkKTsKKworCXJldHVybiBiZGVzYzsg CiB9CiAKIHN0YXRpYyBpbmxpbmUgQnVmZmVyRGVzYyAqCgpiYXNlLWNvbW1pdDogODllYWZhZDI5 N2E5YjAxYWQ3N2NmYzFhYjkzYTQzM2UwYWY4OTRiMAotLSAKMi4zNC4xCgo= --00000000000045c0b7065391462e--