public inbox for [email protected]  
help / color / mirror / Atom feed
From: Noah Misch <[email protected]>
To: Christoph Berg <[email protected]>
Cc: Pavan Deolasee <[email protected]>
Cc: pgsql-hackers <[email protected]>
Cc: Tom Lane <[email protected]>
Subject: Re: Potential ABI breakage in upcoming minor releases
Date: Thu, 14 Nov 2024 11:17:01 -0800
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <CABOikdNmVBC1LL6pY26dyxAS2f+gLZvTsNt=2XbcyG7WxXVBBQ@mail.gmail.com>
	<[email protected]>
	<[email protected]>
	<[email protected]>

On Thu, Nov 14, 2024 at 10:26:58AM -0800, Noah Misch wrote:
> On Thu, Nov 14, 2024 at 05:29:18PM +0100, Christoph Berg wrote:
> > Re: Noah Misch
> > > Based on a grep of PGXN code, here are some or all of the modules that react
> > > to sizeof(ResultRelInfo):
> > > 
> > > $ grepx -r 'lloc.*ResultRelInfo' | tee /tmp/1 | sed 's/-[^:]*/:/'|sort -u
> > > apacheage::    resultRelInfo = palloc(sizeof(ResultRelInfo));
> > 
> > Confirmed, crashing: AGE for 14..17 (12..13 seem fine)
> 
> Can you share more about the crash, perhaps the following?
> 
> - stack trace
> - any server messages just before the crash
> - which architecture (32-bit x86, 64-bit ARM, etc.)
> - asserts enabled, or not?
> 
> It's not immediately to clear to me why this would crash in a non-asserts
> build.  palloc issues a 512-byte chunk for sizeof(ResultRelInfo)==368 on v16,
> so I expect no actual writing past the end of the chunk.  I don't see
> apacheage allocating a ResultRelInfo other than via one palloc per
> ResultRelInfo (no arrays of them, no stack-allocated ResultRelInfo).  I'll
> also work on installing apacheage to get those answers locally.

On x86_64, I ran these with and without asserts:
  install PostgreSQL 16.4
  install https://github.com/apache/age/tree/master
  make -C age installcheck
  install PostgreSQL 16.5
  make -C age installcheck

The non-asserts build passed.  The asserts build failed with "+WARNING:
problem in alloc set ExecutorState: detected write past chunk" throughout the
diffs, but there were no crashes.  (Note that AGE "make installcheck" creates
a temporary installation, unlike PostgreSQL "make installcheck".)  What might
differ in how you tested?






view thread (7+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Potential ABI breakage in upcoming minor releases
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox