Re: BUG #17950: Incorrect memory access in gtsvector_picksplit() - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #17950: Incorrect memory access in gtsvector_picksplit()
Date
Msg-id 665394.1691937343@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #17950: Incorrect memory access in gtsvector_picksplit()  (Alexander Lakhin <exclusion@gmail.com>)
Responses Re: BUG #17950: Incorrect memory access in gtsvector_picksplit()  (Alexander Lakhin <exclusion@gmail.com>)
List pgsql-bugs
Alexander Lakhin <exclusion@gmail.com> writes:
> I can also propose a regression test addition that demonstrates the valgrind
> complaint and also the output of gtsvectorout() for the case ISALLTRUE and
> the opposite.

OK, but ...

> This addition increases the duration of `make check -C contrib/pageinspect`
> under valgrind by 7-8 seconds for me:

[ ie, more than triple its previous runtime ]

... that seems completely unacceptable cost-wise.  I'd be inclined
to commit the fix without a supporting test case, instead of that.

Given that the misapplication of GETSIGN is causing an incorrect
pointer to be passed to sizebitvec(), how come the error is not
leading to outright wrong answers?  I guess because it's in
picksplit, the worst outcome normally is a poor choice of split,
so maybe exhibiting wrong behavior in a detectable way is hard.

> In absence of any objections or other propositions, I'm inclined to register
> this bugfix on the commitfest.

Please do that in any case, so we don't forget about it.

            regards, tom lane



pgsql-bugs by date:

Previous
From: Alexander Lakhin
Date:
Subject: Re: BUG #17950: Incorrect memory access in gtsvector_picksplit()
Next
From: Alexander Lakhin
Date:
Subject: Re: BUG #17950: Incorrect memory access in gtsvector_picksplit()