Re: Non-reproducible AIO failure
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alexander Lakhin <exclusion@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, pgsql-hackers@lists.postgresql.org
Date: 2025-05-24T03:17:12Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
aio: Stop using enum bitfields due to bad code generation
- ce161b194e84 18.0 landed
- 5865150b6d53 19 (unreleased) landed
-
amcheck: Fix posting tree checks in gin_index_check()
- 0cf205e122ae 18.0 cited
-
aio: Add missing memory barrier when waiting for IO handle
- e9a3615a5224 18.0 landed
Alexander Lakhin <exclusion@gmail.com> writes:
> FWIW, that Assert have just triggered on another mac:
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=indri&dt=2025-05-23%2020%3A30%3A07
Yeah, I was just looking at that too. There is a corefile
from that crash, but lldb seems unable to extract anything
from it :-(. There is a low-resolution stack trace in the
postmaster log though:
0 postgres 0x0000000105299c84 ExceptionalCondition + 108
1 postgres 0x00000001051159ac WaitReadBuffers + 616
2 postgres 0x00000001053611ec read_stream_next_buffer.cold.1 + 184
3 postgres 0x0000000105111630 read_stream_next_buffer + 300
4 postgres 0x0000000104e0b994 heap_fetch_next_buffer + 136
5 postgres 0x0000000104e018f4 heapgettup_pagemode + 204
6 postgres 0x0000000104e02010 heap_getnextslot + 84
7 postgres 0x0000000104faebb4 SeqNext + 160
Of note here is that indri and sifaka run on the same host ---
indri uses some MacPorts packages while sifaka doesn't, but
that shouldn't have anything to do with our AIO code.
I trawled the buildfarm database and confirmed that these two crashes
are our only similar reports (grepping for "PGAIO_RS_UNKNOWN"):
sysname | branch | snapshot | stage | l
---------+--------+---------------------+---------------+-------------------------------------------------------------------------------------------------------------
indri | HEAD | 2025-05-23 20:30:07 | recoveryCheck | TRAP: failed Assert("aio_ret->result.status != PGAIO_RS_UNKNOWN"), File: "bufmgr.c", Line: 1605, PID: 20931
sifaka | HEAD | 2025-04-23 20:03:24 | recoveryCheck | TRAP: failed Assert("aio_ret->result.status != PGAIO_RS_UNKNOWN"), File: "bufmgr.c", Line: 1605, PID: 79322
(2 rows)
So it seems that "very low-probability issue in our Mac AIO code" is
the most probable description.
regards, tom lane