BUG #19780: gtsvector_picksplit() reads uninitialized data when called with three entries

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: exclusion(at)gmail(dot)com
Subject: BUG #19780: gtsvector_picksplit() reads uninitialized data when called with three entries
Date: 2026-10-21 18:00:01
Message-ID: 19780-93fb5c0e4ec2af18@postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 19780
Logged by: Alexander Lakhin
Email address: exclusion(at)gmail(dot)com
PostgreSQL version: 19rc1
Operating system: Ubuntu 24.04
Description:

The following script:
CREATE TABLE t (i tsvector, j tsvector);
CREATE INDEX t_idx ON t USING gist (i tsvector_ops (siglen = '1800'), j
tsvector_ops);
INSERT INTO t SELECT (SELECT string_agg(g::text, ' ')::tsvector FROM
generate_series(1, 200) g), 'x'::tsvector FROM generate_series(1, 4);

INSERT INTO t SELECT (SELECT string_agg(g::text, ' ')::tsvector FROM
generate_series(1, 200) g) || 'a', 'x'::tsvector;

being executed under Valgrind, triggers:
==00:00:00:57.066 1678143== Conditional jump or move depends on
uninitialised value(s)
==00:00:00:57.066 1678143== at 0x48CBC35: gtsvector_picksplit
(tsgistidx.c:685)
==00:00:00:57.066 1678143== by 0x493208E: FunctionCall2Coll (fmgr.c:1163)
==00:00:00:57.066 1678143== by 0x41409A3: gistUserPicksplit
(gistsplit.c:433)
==00:00:00:57.066 1678143== by 0x414127B: gistSplitByKey
(gistsplit.c:697)
==00:00:00:57.066 1678143== by 0x4141504: gistSplitByKey
(gistsplit.c:747)
==00:00:00:57.066 1678143== by 0x4134199: gistSplit (gist.c:1483)
==00:00:00:57.066 1678143== by 0x4131D58: gistplacetopage (gist.c:316)
==00:00:00:57.066 1678143== by 0x4133D6D: gistinserttuples (gist.c:1310)
==00:00:00:57.066 1678143== by 0x4133CC7: gistinserttuple (gist.c:1263)
==00:00:00:57.066 1678143== by 0x413310D: gistdoinsert (gist.c:892)
==00:00:00:57.067 1678143== by 0x41319E7: gistinsert (gist.c:191)
==00:00:00:57.067 1678143== by 0x4184D62: index_insert (indexam.c:231)
==00:00:00:57.067 1678143==

Reproduced on REL_14_STABLE .. master.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2026-10-21 18:23:49 BUG #19781: UPDATE moving a row of a self-referencing partitioned table fails with 23503 although ON UPDATE CASC
Previous Message Dmytro Astapov 2026-10-21 17:44:37 Re: BUG #19725: PostgreSQL 18.6: pg_restore read failure with io_uring, not observed with worker