From: | Tomas Vondra <tomas(at)vondra(dot)me> |
---|---|
To: | exclusion(at)gmail(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org, PG Bug reporting form <noreply(at)postgresql(dot)org> |
Subject: | Re: BUG #18598: AddressSanitizer detects use after free inside json_unique_hash_match() |
Date: | 2024-09-04 07:21:10 |
Message-ID: | 98481f61-abf6-46df-8e83-82f6ff66cefb@vondra.me |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On 9/1/24 21:00, PG Bug reporting form wrote:
> The following bug has been logged on the website:
>
> Bug reference: 18598
> Logged by: Alexander Lakhin
> Email address: exclusion(at)gmail(dot)com
> PostgreSQL version: 17beta3
> Operating system: Ubuntu 22.04
> Description:
>
> The following query:
> SELECT JSON_OBJECTAGG(i: (i)::text FORMAT JSON WITH UNIQUE)
> FROM generate_series(1, 100000) i;
>
> triggers an asan-detected error:
> ==973230==ERROR: AddressSanitizer: heap-use-after-free on address
> 0x7fde473f4428 at pc 0x558af80f20a6 bp 0x7ffe6b8e2df0 sp 0x7ffe6b8e2598
> READ of size 7 at 0x7fde473f4428 thread T0
> #0 0x558af80f20a5 in __interceptor_strncmp.part.0
> (.../usr/local/pgsql/bin/postgres+0x32d40a5)
> #1 0x558af9ed5276 in json_unique_hash_match
> ...
>
> Reproduced starting from 7081ac46a.
>
FWIW I can reproduce this using valgrind, with the same stacks reported.
This feels very much like a classical memory context bug - pointing to
memory in a short-lived memory context. I see datum_to_json_internal()
allocates the result in ExprContext, and that's bound to be reset pretty
often. But I'm not too familiar with the JSON aggregate stuff enough to
pinpoint what it does wrong.
regards
--
Tomas Vondra
From | Date | Subject | |
---|---|---|---|
Next Message | PG Bug reporting form | 2024-09-04 09:21:11 | BUG #18600: Getting wait_type_event as IPC:BTreePage for count queries |
Previous Message | David Rowley | 2024-09-04 05:05:01 | Re: BUG #18599: server closed the connection unexpectedly |
From | Date | Subject | |
---|---|---|---|
Next Message | Dean Rasheed | 2024-09-04 07:22:40 | Re: Optimize mul_var() for var1ndigits >= 8 |
Previous Message | jian he | 2024-09-04 06:54:00 | Re: altering a column's collation leaves an invalid foreign key |