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 1vjirh-003I0e-1E for pgsql-hackers@arkaria.postgresql.org; Sat, 24 Jan 2026 19:00:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vjirg-003HP8-05 for pgsql-hackers@arkaria.postgresql.org; Sat, 24 Jan 2026 19:00:08 +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 1vjirf-003HOr-1n for pgsql-hackers@lists.postgresql.org; Sat, 24 Jan 2026 19:00:08 +0000 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vjirc-00276b-2O for pgsql-hackers@postgresql.org; Sat, 24 Jan 2026 19:00:06 +0000 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4801c2fae63so25674465e9.2 for ; Sat, 24 Jan 2026 11:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769281203; x=1769886003; darn=postgresql.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=7vOjVajzeAhLQQzSrfoLrcU+84HLkB7OqewO1xebvAQ=; b=VQ3L8XrGZ/qV/wbMAvLkJXXg+h9TVYm5/DaN+DXDTxaAbgGYOQoTdSBV6DVgOhG8Gm W5yNwboU65UUg72K0g+TdA9y3LRsN4rFTU1Yj6q0OwgxYX5RmAkKU5dFPvla0rPA+VJ2 WF3fbboq2k9n+oQsPFkFXWOSuCI07W2IzBXD9YlS45QTwqRqC1QwxYYWOTxPkppwbdJh jD1sKTz58jZ42AsTTa5AkjrJSDIshC+MFx+tP6h6gnbMZ6QU3pSqdbhKY7dlmc/r0R4g IEnhC5ZFdOJX/ZxExwsIwxxcQW1Xd917eEx+NZsKJanZnj/fY/0MNqtu1D1sKoRDXOAn Ztpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769281203; x=1769886003; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=7vOjVajzeAhLQQzSrfoLrcU+84HLkB7OqewO1xebvAQ=; b=R9v8jR2zwPmN9fEdRAAqwBBpaglLN7ltypOJSpqLpF8qmxYmBZixn32jjKuDyQHP5U 6NOGz0LLk4DmvLF/Mx4RzJQkRF4LtNntsSUHFblEh3O1f3IBnquyku4S37M3MOTLfxDJ cvGaThU719/EFYmQsJUltzlRdkUHFuipviJEI9+GzxJxi6uU53BtyI1ukgqNT/IEciYb uW3FY6HQxEarPjglM5RixanRskdk+Bz5brQZpD3xelfqWIyHaJdw/9FSYUt6AU61ySLi +GA4YQkk8J8JU0A9lXoBJMJ33GTvVegm6FMY2GExfdsZE0uP6gYu5WwgOH/XAcvmxE8L DN6w== X-Forwarded-Encrypted: i=1; AJvYcCX6VdbtWbA35wsxvkbN5NF9VoyblCxXYLqtKfdlYtAhBl6bLX4Zzv86T8/H7zwH9yTJpr2JUJ1QKjLgCLQ3@postgresql.org X-Gm-Message-State: AOJu0YxHKNI17+GAwEsLe1WNZDy34b1wBEWx3O8CGKJUQtE823WqAmlO NcWcJ/rV83Cv1uKhJ9ZnugSejiGJz6hJirYVtlLx8+PVw/iSe8f9GFmF X-Gm-Gg: AZuq6aIw8nrwCmQ7k2IpG8Q3bpu+sx/xoi0WcaQ8YZd0bhq99Fn+vuwu503GYPPvdlw rV+OhlhJ5Pe4XhfqrK5CRPp0vCTn3QxJoNaa+F9y8J+EGDgbCmOpmnIdifeHZ/S+5iYq/hSwnbG tDcUZ56Fd9a6x2XymI9VQ9ksDpFTWMzQ/S+C4mu3eUeGy0UNbv6qmjo3/TgR5VUnCENIimoL8rR /oYachys72HM41scfWEQXbFn+iHSPea5YHMyRroYYR7ttAd065sLEM/2UfwBcyQS6+1fXZ8U3wv FS1bo3EWzYiBw4h+nSy1wUutGykQRQuTDvv8BrhBEK6gJfgHzmnWwnjaN5JnuMp3SXndRcvarWX X3h62yRtehOxoAZhkiqqbW0sFD0FZlyle/mNem28CH76k1piPc5yl9xGdLrbZXqQkbG94xJPtdp xY24NNIJuFH7u+bBQB6OJjdAk= X-Received: by 2002:a05:600c:450c:b0:477:a1a2:d829 with SMTP id 5b1f17b1804b1-4804c954f1cmr104832905e9.13.1769281202524; Sat, 24 Jan 2026 11:00:02 -0800 (PST) Received: from [192.168.0.50] ([89.149.93.129]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4804d8b2f5csm136607025e9.12.2026.01.24.11.00.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 24 Jan 2026 11:00:01 -0800 (PST) Content-Type: multipart/alternative; boundary="------------M8R78fECno50Qpi4bY4EWCe1" Message-ID: <90bd2cbb-49ce-4092-9f61-5ac2ab782c94@gmail.com> Date: Sat, 24 Jan 2026 21:00:00 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Buffer locking is special (hints, checksums, AIO writes) To: Tom Lane , Andres Freund Cc: Chao Li , Kirill Reshke , Heikki Linnakangas , Melanie Plageman , Matthias van de Meent , pgsql-hackers@postgresql.org, Thomas Munro , Noah Misch , Robert Haas , Michael Paquier References: <4csodkvvfbfloxxjlkgsnl2lgfv2mtzdl7phqzd4jxjadxm4o5@usw7feyb5bzf> <9C2494E1-F446-42DF-B070-7E231B8E6221@gmail.com> <58821140-0182-4FF3-9A4F-5B168DDB9243@gmail.com> <732580B4-962F-4EBD-8811-F4667D79747D@gmail.com> <934395.1768518154@sss.pgh.pa.us> Content-Language: en-US From: Alexander Lakhin In-Reply-To: <934395.1768518154@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------M8R78fECno50Qpi4bY4EWCe1 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello Andres, 16.01.2026 01:02, Tom Lane wrote: > Various buildfarm animals are complaining about fcb9c977a, > similarly to this from calliphoridae [1]: I've discovered another anomaly introduced with fcb9c977a, this time run-time: for i in `seq 300`; do echo "iteration $i" echo " create table t(f1 text); create index on t using spgist(f1); insert into t select 'a' from generate_series(1, 9000) g(i); vacuum analyze t; insert into t select 'b' from generate_series(1, 1000) g(i); drop table t; " | psql >/dev/null -v ON_ERROR_STOP=1 || break; done fails for me as below: ... iteration 39 server closed the connection unexpectedly Core was generated by `postgres: law regression [local] INSERT                 '. Program terminated with signal SIGABRT, Aborted. #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 warning: 44     ./nptl/pthread_kill.c: Нет такого файла или каталога (gdb) bt #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 #1  __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78 #2  __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3  0x000073625aa4527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4  0x000073625aa288ff in __GI_abort () at ./stdlib/abort.c:79 #5  0x00005a479e2f685f in ExceptionalCondition (conditionName=conditionName@entry=0x5a479e403cb8 "entry->data.lockmode == BUFFER_LOCK_UNLOCK", fileName=fileName@entry=0x5a479e37a84f "bufmgr.c", lineNumber=lineNumber@entry=5908) at assert.c:65 #6  0x00005a479e14d87c in BufferLockConditional (buffer=, buf_hdr=0x73624e882b40, mode=mode@entry=BUFFER_LOCK_EXCLUSIVE) at bufmgr.c:5908 #7  0x00005a479e14f4d5 in ConditionalLockBuffer (buffer=buffer@entry=13500) at bufmgr.c:6474 #8  0x00005a479de44da9 in SpGistNewBuffer (index=index@entry=0x73625b1f6ce8) at spgutils.c:420 #9  0x00005a479de45397 in allocNewBuffer (index=index@entry=0x73625b1f6ce8, flags=flags@entry=3) at spgutils.c:528 #10 0x00005a479de456a0 in SpGistGetBuffer (index=index@entry=0x73625b1f6ce8, flags=flags@entry=3, needSpace=, needSpace@entry=4088, isNew=isNew@entry=0x7ffd8fa1b2a7) at spgutils.c:663 #11 0x00005a479de3c913 in doPickSplit (index=index@entry=0x73625b1f6ce8, state=state@entry=0x7ffd8fa1b740, current=current@entry=0x7ffd8fa1b510, parent=parent@entry=0x7ffd8fa1b530, newLeafTuple=newLeafTuple@entry=0x5a47cbd7adc8, level=level@entry=4, isNulls=false, isNew=false) at spgdoinsert.c:1046 #12 0x00005a479de3e542 in spgdoinsert (index=index@entry=0x73625b1f6ce8, state=state@entry=0x7ffd8fa1b740, heapPtr=heapPtr@entry=0x5a47cbe0b248, datums=datums@entry=0x7ffd8fa1b8d0, isnulls=isnulls@entry=0x7ffd8fa1b8b0) at spgdoinsert.c:2134 #13 0x00005a479de40137 in spginsert (index=0x73625b1f6ce8, values=0x7ffd8fa1b8d0, isnull=0x7ffd8fa1b8b0, ht_ctid=0x5a47cbe0b248, heapRel=, checkUnique=, indexUnchanged=false, indexInfo=0x5a47cbe0b0b8) at spginsert.c:206 #14 0x00005a479df981d8 in ExecInsertIndexTuples (resultRelInfo=resultRelInfo@entry=0x5a47cbe07120, slot=slot@entry=0x5a47cbe0b218, estate=estate@entry=0x5a47cbe06c10, update=update@entry=false, noDupErr=noDupErr@entry=false, specConflict=specConflict@entry=0x0, arbiterIndexes=0x0, onlySummarizing=false) at execIndexing.c:449 #15 0x00005a479dfcc6a9 in ExecInsert (context=context@entry=0x7ffd8fa1bb70, resultRelInfo=resultRelInfo@entry=0x5a47cbe07120, slot=slot@entry=0x5a47cbe0b218, canSetTag=, inserted_tuple=inserted_tuple@entry=0x0, insert_destrel=insert_destrel@entry=0x0) at nodeModifyTable.c:1240 #16 0x00005a479dfcdf67 in ExecModifyTable (pstate=0x5a47cbe06f10) at nodeModifyTable.c:4485 ... Best regards, Alexander --------------M8R78fECno50Qpi4bY4EWCe1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
Hello Andres,

16.01.2026 01:02, Tom Lane wrote:
Various buildfarm animals are complaining about fcb9c977a,
similarly to this from calliphoridae [1]:

I've discovered another anomaly introduced with fcb9c977a, this time
run-time:
for i in `seq 300`; do
echo "iteration $i"

echo "
create table t(f1 text);
create index on t using spgist(f1);
insert into t select 'a' from generate_series(1, 9000) g(i);
vacuum analyze t;
insert into t select 'b' from generate_series(1, 1000) g(i);
drop table t;
" | psql >/dev/null -v ON_ERROR_STOP=1 || break;
done

fails for me as below:
...
iteration 39
server closed the connection unexpectedly

Core was generated by `postgres: law regression [local] INSERT                 '.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44

warning: 44     ./nptl/pthread_kill.c: Нет такого файла или каталога
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x000073625aa4527e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x000073625aa288ff in __GI_abort () at ./stdlib/abort.c:79
#5  0x00005a479e2f685f in ExceptionalCondition (conditionName=conditionName@entry=0x5a479e403cb8 "entry->data.lockmode == BUFFER_LOCK_UNLOCK", fileName=fileName@entry=0x5a479e37a84f "bufmgr.c", lineNumber=lineNumber@entry=5908) at assert.c:65
#6  0x00005a479e14d87c in BufferLockConditional (buffer=<optimized out>, buf_hdr=0x73624e882b40, mode=mode@entry=BUFFER_LOCK_EXCLUSIVE) at bufmgr.c:5908
#7  0x00005a479e14f4d5 in ConditionalLockBuffer (buffer=buffer@entry=13500) at bufmgr.c:6474
#8  0x00005a479de44da9 in SpGistNewBuffer (index=index@entry=0x73625b1f6ce8) at spgutils.c:420
#9  0x00005a479de45397 in allocNewBuffer (index=index@entry=0x73625b1f6ce8, flags=flags@entry=3) at spgutils.c:528
#10 0x00005a479de456a0 in SpGistGetBuffer (index=index@entry=0x73625b1f6ce8, flags=flags@entry=3, needSpace=<optimized out>, needSpace@entry=4088, isNew=isNew@entry=0x7ffd8fa1b2a7) at spgutils.c:663
#11 0x00005a479de3c913 in doPickSplit (index=index@entry=0x73625b1f6ce8, state=state@entry=0x7ffd8fa1b740, current=current@entry=0x7ffd8fa1b510, parent=parent@entry=0x7ffd8fa1b530, newLeafTuple=newLeafTuple@entry=0x5a47cbd7adc8, level=level@entry=4, isNulls=false, isNew=false) at spgdoinsert.c:1046
#12 0x00005a479de3e542 in spgdoinsert (index=index@entry=0x73625b1f6ce8, state=state@entry=0x7ffd8fa1b740, heapPtr=heapPtr@entry=0x5a47cbe0b248, datums=datums@entry=0x7ffd8fa1b8d0, isnulls=isnulls@entry=0x7ffd8fa1b8b0) at spgdoinsert.c:2134
#13 0x00005a479de40137 in spginsert (index=0x73625b1f6ce8, values=0x7ffd8fa1b8d0, isnull=0x7ffd8fa1b8b0, ht_ctid=0x5a47cbe0b248, heapRel=<optimized out>, checkUnique=<optimized out>, indexUnchanged=false, indexInfo=0x5a47cbe0b0b8) at spginsert.c:206
#14 0x00005a479df981d8 in ExecInsertIndexTuples (resultRelInfo=resultRelInfo@entry=0x5a47cbe07120, slot=slot@entry=0x5a47cbe0b218, estate=estate@entry=0x5a47cbe06c10, update=update@entry=false, noDupErr=noDupErr@entry=false, specConflict=specConflict@entry=0x0, arbiterIndexes=0x0, onlySummarizing=false) at execIndexing.c:449
#15 0x00005a479dfcc6a9 in ExecInsert (context=context@entry=0x7ffd8fa1bb70, resultRelInfo=resultRelInfo@entry=0x5a47cbe07120, slot=slot@entry=0x5a47cbe0b218, canSetTag=<optimized out>, inserted_tuple=inserted_tuple@entry=0x0, insert_destrel=insert_destrel@entry=0x0) at nodeModifyTable.c:1240
#16 0x00005a479dfcdf67 in ExecModifyTable (pstate=0x5a47cbe06f10) at nodeModifyTable.c:4485
...

Best regards,
Alexander
--------------M8R78fECno50Qpi4bY4EWCe1--