| From: | Alexander Lakhin <exclusion(at)gmail(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de> |
| Cc: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Kirill Reshke <reshkekirill(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Noah Misch <noah(at)leadboat(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
| Subject: | Re: Buffer locking is special (hints, checksums, AIO writes) |
| Date: | 2026-01-24 19:00:00 |
| Message-ID: | 90bd2cbb-49ce-4092-9f61-5ac2ab782c94@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
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(at)entry=6) at ./nptl/pthread_kill.c:89
#3 0x000073625aa4527e in __GI_raise (sig=sig(at)entry=6) at ../sysdeps/posix/raise.c:26
#4 0x000073625aa288ff in __GI_abort () at ./stdlib/abort.c:79
#5 0x00005a479e2f685f in ExceptionalCondition (conditionName=conditionName(at)entry=0x5a479e403cb8 "entry->data.lockmode
== BUFFER_LOCK_UNLOCK", fileName=fileName(at)entry=0x5a479e37a84f "bufmgr.c", lineNumber=lineNumber(at)entry=5908) at assert.c:65
#6 0x00005a479e14d87c in BufferLockConditional (buffer=<optimized out>, buf_hdr=0x73624e882b40,
mode=mode(at)entry=BUFFER_LOCK_EXCLUSIVE) at bufmgr.c:5908
#7 0x00005a479e14f4d5 in ConditionalLockBuffer (buffer=buffer(at)entry=13500) at bufmgr.c:6474
#8 0x00005a479de44da9 in SpGistNewBuffer (index=index(at)entry=0x73625b1f6ce8) at spgutils.c:420
#9 0x00005a479de45397 in allocNewBuffer (index=index(at)entry=0x73625b1f6ce8, flags=flags(at)entry=3) at spgutils.c:528
#10 0x00005a479de456a0 in SpGistGetBuffer (index=index(at)entry=0x73625b1f6ce8, flags=flags(at)entry=3, needSpace=<optimized
out>, needSpace(at)entry=4088, isNew=isNew(at)entry=0x7ffd8fa1b2a7) at spgutils.c:663
#11 0x00005a479de3c913 in doPickSplit (index=index(at)entry=0x73625b1f6ce8, state=state(at)entry=0x7ffd8fa1b740,
current=current(at)entry=0x7ffd8fa1b510, parent=parent(at)entry=0x7ffd8fa1b530,
newLeafTuple=newLeafTuple(at)entry=0x5a47cbd7adc8, level=level(at)entry=4, isNulls=false, isNew=false) at spgdoinsert.c:1046
#12 0x00005a479de3e542 in spgdoinsert (index=index(at)entry=0x73625b1f6ce8, state=state(at)entry=0x7ffd8fa1b740,
heapPtr=heapPtr(at)entry=0x5a47cbe0b248, datums=datums(at)entry=0x7ffd8fa1b8d0, isnulls=isnulls(at)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(at)entry=0x5a47cbe07120,
slot=slot(at)entry=0x5a47cbe0b218, estate=estate(at)entry=0x5a47cbe06c10, update=update(at)entry=false,
noDupErr=noDupErr(at)entry=false, specConflict=specConflict(at)entry=0x0, arbiterIndexes=0x0, onlySummarizing=false) at
execIndexing.c:449
#15 0x00005a479dfcc6a9 in ExecInsert (context=context(at)entry=0x7ffd8fa1bb70,
resultRelInfo=resultRelInfo(at)entry=0x5a47cbe07120, slot=slot(at)entry=0x5a47cbe0b218, canSetTag=<optimized out>,
inserted_tuple=inserted_tuple(at)entry=0x0, insert_destrel=insert_destrel(at)entry=0x0) at nodeModifyTable.c:1240
#16 0x00005a479dfcdf67 in ExecModifyTable (pstate=0x5a47cbe06f10) at nodeModifyTable.c:4485
...
Best regards,
Alexander
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2026-01-24 20:31:14 | Re: Buffer locking is special (hints, checksums, AIO writes) |
| Previous Message | Tom Lane | 2026-01-24 17:54:08 | Re: ABI Compliance Checker GSoC Project |