Re: Relation bulk write facility
От | Thomas Munro |
---|---|
Тема | Re: Relation bulk write facility |
Дата | |
Msg-id | CA+hUKGKtVazR0yEDxOrZYAmeaVbvQxNXSb6K8BDYOtuRVnCMDQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Relation bulk write facility (Noah Misch <noah@leadboat.com>) |
Ответы |
Re: Relation bulk write facility
|
Список | pgsql-hackers |
On Sun, Feb 25, 2024 at 6:24 AM Noah Misch <noah@leadboat.com> wrote: > On Fri, Feb 23, 2024 at 04:27:34PM +0200, Heikki Linnakangas wrote: > > Committed this. Thanks everyone! > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=mandrill&dt=2024-02-24%2015%3A13%3A14 got: > TRAP: failed Assert("(uintptr_t) buffer == TYPEALIGN(PG_IO_ALIGN_SIZE, buffer)"), File: "md.c", Line: 472, PID: 43188608 > > with this stack trace: > #5 0x10005cf0 in ExceptionalCondition (conditionName=0x1015d790 <XLogBeginInsert+80> "`", fileName=0x0, lineNumber=16780064)at assert.c:66 > #6 0x102daba8 in mdextend (reln=0x1042628c <PageSetChecksumInplace+44>, forknum=812540744, blocknum=33, buffer=0x306e6000,skipFsync=812539904) at md.c:472 > #7 0x102d6760 in smgrextend (reln=0x306e6670, forknum=812540744, blocknum=33, buffer=0x306e6000, skipFsync=812539904)at smgr.c:541 > #8 0x104c8dac in smgr_bulk_flush (bulkstate=0x306e6000) at bulk_write.c:245 So that's: static const PGIOAlignedBlock zero_buffer = {{0}}; /* worth BLCKSZ */ ... smgrextend(bulkstate->smgr, bulkstate->forknum, bulkstate->pages_written++, &zero_buffer, true); ... where PGIOAlignedBlock is: typedef union PGIOAlignedBlock { #ifdef pg_attribute_aligned pg_attribute_aligned(PG_IO_ALIGN_SIZE) #endif char data[BLCKSZ]; ... We see this happen with both xlc and gcc (new enough to know how to do this). One idea would be that the AIX *linker* is unable to align it, as that is the common tool-chain component here (and unlike stack and heap objects, this scope is the linker's job). There is a pre-existing example of a zero-buffer that is at file scope like that: pg_prewarm.c. Perhaps it doesn't get tested? Hmm.
В списке pgsql-hackers по дате отправления: