| From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | kuzmin(dot)db4(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org |
| Subject: | Re: BUG #19438: segfault with temp_file_limit inside cursor |
| Date: | 2026-03-29 23:33:57 |
| Message-ID: | CAApHDvreSetP_7y8bPbNxEYtWuyVrwUpgePa7=w8W1WfyjcEyQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-bugs |
On Mon, 30 Mar 2026 at 05:25, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> I started to wonder if an explicit test in AlignedAllocFree
> could be useful anyway to make such problems a bit less obscure.
> However, when I tried
>
> p = palloc_aligned(...);
> pfree(p);
> pfree(p);
>
> I got
>
> ERROR: pfree called with invalid pointer 0x1f286b0 (header 0x7f7f7f7f7f7f7f7f)
>
> That is, we'll never get to AlignedAllocFree because the underlying
> context would have wipe_mem'd the aligned chunk's header during the
> first pfree. The only case in which such a test could be helpful is
> in a build with MEMORY_CONTEXT_CHECKING but not CLOBBER_FREED_MEMORY.
> While I suppose some people might build that way, it's got to be such
> a tiny minority as to not be worth worrying about.
I think you might have trouble trying to get the MemoryContext.name
for the elog warning anyway. That's only accessible from the unaligned
allocation and whatever method that context type uses to backlink the
owning context from the chunk pointer. Given that, it very much seems
not worthwhile as I imagine that means adding some callback function
to MemoryContextMethods!
David
| From | Date | Subject | |
|---|---|---|---|
| Next Message | David Rowley | 2026-03-29 23:41:37 | Re: BUG #19438: segfault with temp_file_limit inside cursor |
| Previous Message | Tom Lane | 2026-03-29 16:25:38 | Re: BUG #19438: segfault with temp_file_limit inside cursor |