| From: | Alexander Lakhin <exclusion(at)gmail(dot)com> |
|---|---|
| To: | Andres Freund <andres(at)anarazel(dot)de>, Noah Misch <noah(at)leadboat(dot)com> |
| Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Kirill Reshke <reshkekirill(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>, 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-03-13 08:00:00 |
| Message-ID: | 52d064b8-63bd-45df-a405-b6017d49b300@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hello Andres,
12.03.2026 00:40, Andres Freund wrote:
> I pushed this and many of the later patches in the series. Here are updated
> versions of the remaining changes. The last two previously were one commit
> with "WIP" in the title. The first one has, I think, not had a lot of review -
> but it's also not a complicated change.
I've discovered that starting from 82467f627, the following query:
SET cpu_operator_cost = 1000;
CREATE TABLE t (i INT);
INSERT INTO T SELECT 1 FROM generate_series(1, 1000) a;
CREATE INDEX hi on t USING HASH (i);
DELETE FROM t WHERE i = 1;
DELETE FROM t WHERE i = 1;
triggers
TRAP: failed Assert("BufferIsValid(buffer)"), File: "bufmgr.c", Line: 497, PID: 3942058
#4 0x000079a60ae288ff in __GI_abort () at ./stdlib/abort.c:79
#5 0x00005a68d9343eef in ExceptionalCondition (conditionName=conditionName(at)entry=0x5a68d93ac27d "BufferIsValid(buffer)",
fileName=fileName(at)entry=0x5a68d93c99ef "bufmgr.c", lineNumber=lineNumber(at)entry=497) at assert.c:65
#6 0x00005a68d91a18eb in GetPrivateRefCountEntry (do_move=true, buffer=<optimized out>) at bufmgr.c:497
#7 SharedBufferBeginSetHintBits (lockstate=<synthetic pointer>, buf_hdr=0x79e5febbbc40, buffer=<optimized out>)
at bufmgr.c:6830
#8 BufferBeginSetHintBits (buffer=<optimized out>) at bufmgr.c:6931
#9 0x00005a68d8e3c862 in _hash_kill_items (scan=<optimized out>) at hashutil.c:603
#10 0x00005a68d8e3b7c3 in _hash_next (scan=0x5a68e735f938, dir=<optimized out>) at hashsearch.c:69
#11 0x00005a68d8e616ce in index_getnext_tid (scan=scan(at)entry=0x5a68e735f938, direction=direction(at)entry=ForwardScanDirection)
at indexam.c:647
...
#25 0x00005a68d91eb4ad in exec_simple_query (query_string=0x5a68e7270120 "DELETE FROM t WHERE i = 1;") at postgres.c:1277
...
Could you please look at this?
Best regards,
Alexander
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | Pavel Stehule | 2026-03-13 07:54:35 | Re: proposal: schema variables |