Re: BUG #16329: Valgrind detects an invalid read when building a gist index with buffering
Alexander Law <exclusion@gmail.com>
From: Alexander Lakhin <exclusion@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Pavel Borisov <pashkin.elfe@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org, kyzevan23@mail.ru
Date: 2023-03-30T05:00:00Z
Lists: pgsql-bugs
30.03.2023 01:21, Tom Lane wrote: > > The question is whether it's worth the extra test cycles forevermore. > On my machine, the time for the gist test script goes from ~400ms to > ~600ms. That's still less than some of the concurrent scripts (brin, > privileges, and join_hash all take more than that for me), so maybe > it's fine. But it seems like a lot for a change that doesn't move the > raw code coverage results by even one line. > > Thoughts? I would say that providing the behavior coverage is the next thing to do after the code coverage reached 100%. I can easily imagine bugs hiding in a fully covered code (#17858 is the recent example). As to that concrete place, I would incline to improve the test while it stays in line with other tests, but I lack a whole picture of the gist testing. It doesn't seem to me that the regress/sql/gist.sql is too comprehensive. I've just looked at the scan-build's results and found 9 warnings related to gist. A quick glance at the code confirms that there are indeed interesting cases, which are not exercised for now (e.g., call gistRelocateBuildBuffersOnSplit() with IndexRelationGetNumberOfKeyAttributes(r) > 1). So if I could prove that 2-3 of them are really bugs during the next week, maybe then assess that test change alongside with others (if any). (Maybe we'll want to build that index over different columns, for example.) Best regards, Alexander
Commits
-
Fix dereference of dangling pointer in GiST index buffering build.
- d2a1d4b190ec 12.15 landed
- b5c6776c1127 11.20 landed
- a1904c9ce56a 14.8 landed
- 8e5eef50c5b4 16.0 landed
- 2dc77adc768e 15.3 landed
- 2adb6adad5f8 13.11 landed
-
Fix GiST buffering build to work when there are included columns.
- 962ab473ec3d 13.1 landed
- 371668a8389d 14.0 landed
- 12945874ebd6 12.5 landed
-
Re-allow testing of GiST buffered builds.
- 78c0b6ed273a 14.0 landed
-
Add support for building GiST index by sorting.
- 16fa9b2b30a3 14.0 cited