Обсуждение: contrib/bloom Valgrind error

Поиск
Список
Период
Сортировка

contrib/bloom Valgrind error

От
Peter Geoghegan
Дата:
My Valgrind test script reports the following error, triggered from
within contrib/bloom's regression test suite on master as of right
now:

""""""
2019-09-27 20:53:50.910 PDT 9740 DEBUG:  building index "bloomidx" on
table "tst" serially
2019-09-27 20:53:51.049 PDT 9740 DEBUG:  CommitTransaction(1) name:
unnamed; blockState: STARTED; state: INPROGRESS, xid/subid/cid:
20721/1/2
2019-09-27 20:53:51.052 PDT 9740 DEBUG:  StartTransaction(1) name:
unnamed; blockState: DEFAULT; state: INPROGRESS, xid/subid/cid: 0/1/0
2019-09-27 20:53:51.054 PDT 9740 LOG:  statement: ALTER INDEX bloomidx
SET (length=80);
==9740== VALGRINDERROR-BEGIN
==9740== Conditional jump or move depends on uninitialised value(s)
==9740==    at 0x26D400: RangeVarGetRelidExtended (namespace.c:349)
==9740==    by 0x33D084: AlterTableLookupRelation (tablecmds.c:3445)
==9740==    by 0x4D0BC1: ProcessUtilitySlow (utility.c:1111)
==9740==    by 0x4D0802: standard_ProcessUtility (utility.c:927)
==9740==    by 0x4D083B: ProcessUtility (utility.c:360)
==9740==    by 0x4CD0A4: PortalRunUtility (pquery.c:1175)
==9740==    by 0x4CDBC0: PortalRunMulti (pquery.c:1321)
==9740==    by 0x4CE7F9: PortalRun (pquery.c:796)
==9740==    by 0x4CA3D9: exec_simple_query (postgres.c:1231)
==9740==    by 0x4CB3BD: PostgresMain (postgres.c:4256)
==9740==    by 0x4547DE: BackendRun (postmaster.c:4459)
==9740==    by 0x4547DE: BackendStartup (postmaster.c:4150)
==9740==    by 0x4547DE: ServerLoop (postmaster.c:1718)
==9740==    by 0x455E2C: PostmasterMain (postmaster.c:1391)
==9740==    by 0x3B94AC: main (main.c:210)
==9740==  Uninitialised value was created by a stack allocation
==9740==    at 0x402F202: _PG_init (blutils.c:54)
==9740==
==9740== VALGRINDERROR-END
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:RangeVarGetRelidExtended
   fun:AlterTableLookupRelation
   fun:ProcessUtilitySlow
   fun:standard_ProcessUtility
   fun:ProcessUtility
   fun:PortalRunUtility
   fun:PortalRunMulti
   fun:PortalRun
   fun:exec_simple_query
   fun:PostgresMain
   fun:BackendRun
   fun:BackendStartup
   fun:ServerLoop
   fun:PostmasterMain
   fun:main
}
""""""

I suspect that the recent commit 69f94108 is involved here, but I
haven't confirmed that explanation myself.

-- 
Peter Geoghegan



Re: contrib/bloom Valgrind error

От
Michael Paquier
Дата:
On Fri, Sep 27, 2019 at 09:02:34PM -0700, Peter Geoghegan wrote:
> My Valgrind test script reports the following error, triggered from
> within contrib/bloom's regression test suite on master as of right
> now:
>
> I suspect that the recent commit 69f94108 is involved here, but I
> haven't confirmed that explanation myself.

It looks that the complain is about the set of custom reloptions
initialized by bloom in _PG_init(), and that lockmode is actually not
set after fetching it via AlterTableGetLockLevel(), which is exactly
what 736b84e was addressing.

By repeating the beginning of the regression tests of bloom, I am
unfortunately not able to reproduce the problem.  Here is what I used
to start the server with valgrind:
valgrind --suppressions=$PG_SOURCE/src/tools/valgrind.supp
--trace-children=yes --track-origins=yes --leak-check=full
--read-var-info=yes postgres -D $PGDATA

What kind of commands and or compilation options do you use?
--
Michael

Вложения