Skip site navigation (1) Skip section navigation (2)

Valgrind failures caused by multivariate stats patch

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>,Tomas Vondra <tv(at)fuzzy(dot)cz>
Subject: Valgrind failures caused by multivariate stats patch
Date: 2017-03-25 21:10:31
Message-ID: 20170325211031.4xxoptigqxm2emn2@alap3.anarazel.de (view raw, whole thread or download thread mbox)
Thread:
Lists: pgsql-hackers
Hi,

I just tried to run valgrind before pushing my expression evaluation
work, but that triggers independent failures:

==2486== Uninitialised byte(s) found during client check request
==2486==    at 0x5B56B9: PageAddItemExtended (bufpage.c:329)
==2486==    by 0x225E14: RelationPutHeapTuple (hio.c:53)
==2486==    by 0x21A656: heap_update (heapam.c:4189)
==2486==    by 0x21BAA2: simple_heap_update (heapam.c:4511)
==2486==    by 0x2B2B1F: CatalogTupleUpdate (indexing.c:216)
==2486==    by 0x5784C2: statext_store (extended_stats.c:298)
==2486==    by 0x577CFF: BuildRelationExtStatistics (extended_stats.c:99)
==2486==    by 0x3546B6: do_analyze_rel (analyze.c:577)
==2486==    by 0x353B76: analyze_rel (analyze.c:271)
==2486==    by 0x3E7B89: vacuum (vacuum.c:321)
==2486==    by 0x3E7755: ExecVacuum (vacuum.c:122)
==2486==    by 0x5C5F1C: standard_ProcessUtility (utility.c:670)
==2486==    by 0x5C5724: ProcessUtility (utility.c:353)
==2486==    by 0x5C46CA: PortalRunUtility (pquery.c:1174)
==2486==    by 0x5C48D0: PortalRunMulti (pquery.c:1317)
==2486==    by 0x5C3E1A: PortalRun (pquery.c:795)
==2486==    by 0x5BDC1A: exec_simple_query (postgres.c:1101)
==2486==    by 0x5C203F: PostgresMain (postgres.c:4071)
==2486==    by 0x525138: BackendRun (postmaster.c:4317)
==2486==    by 0x524848: BackendStartup (postmaster.c:3989)
==2486==  Address 0x92b7f93 is 195 bytes inside a block of size 215 client-defined
==2486==    at 0x761EAC: MemoryContextAllocExtended (mcxt.c:840)
==2486==    by 0x1C08EB: heap_form_tuple (heaptuple.c:744)
==2486==    by 0x1C0BBF: heap_modify_tuple (heaptuple.c:833)
==2486==    by 0x578497: statext_store (extended_stats.c:292)
==2486==    by 0x577CFF: BuildRelationExtStatistics (extended_stats.c:99)
==2486==    by 0x3546B6: do_analyze_rel (analyze.c:577)
==2486==    by 0x353B76: analyze_rel (analyze.c:271)
==2486==    by 0x3E7B89: vacuum (vacuum.c:321)
==2486==    by 0x3E7755: ExecVacuum (vacuum.c:122)
==2486==    by 0x5C5F1C: standard_ProcessUtility (utility.c:670)
==2486==    by 0x5C5724: ProcessUtility (utility.c:353)
==2486==    by 0x5C46CA: PortalRunUtility (pquery.c:1174)
==2486==    by 0x5C48D0: PortalRunMulti (pquery.c:1317)
==2486==    by 0x5C3E1A: PortalRun (pquery.c:795)
==2486==    by 0x5BDC1A: exec_simple_query (postgres.c:1101)
==2486==    by 0x5C203F: PostgresMain (postgres.c:4071)
==2486==    by 0x525138: BackendRun (postmaster.c:4317)
==2486==    by 0x524848: BackendStartup (postmaster.c:3989)
==2486==    by 0x520C4A: ServerLoop (postmaster.c:1729)
==2486==    by 0x5201D9: PostmasterMain (postmaster.c:1337)
==2486==  Uninitialised value was created by a heap allocation
==2486==    at 0x76212F: palloc (mcxt.c:872)
==2486==    by 0x578814: statext_ndistinct_build (mvdistinct.c:80)
==2486==    by 0x577CCE: BuildRelationExtStatistics (extended_stats.c:94)
==2486==    by 0x3546B6: do_analyze_rel (analyze.c:577)
==2486==    by 0x353B76: analyze_rel (analyze.c:271)
==2486==    by 0x3E7B89: vacuum (vacuum.c:321)
==2486==    by 0x3E7755: ExecVacuum (vacuum.c:122)
==2486==    by 0x5C5F1C: standard_ProcessUtility (utility.c:670)
==2486==    by 0x5C5724: ProcessUtility (utility.c:353)
==2486==    by 0x5C46CA: PortalRunUtility (pquery.c:1174)
==2486==    by 0x5C48D0: PortalRunMulti (pquery.c:1317)
==2486==    by 0x5C3E1A: PortalRun (pquery.c:795)
==2486==    by 0x5BDC1A: exec_simple_query (postgres.c:1101)
==2486==    by 0x5C203F: PostgresMain (postgres.c:4071)
==2486==    by 0x525138: BackendRun (postmaster.c:4317)
==2486==    by 0x524848: BackendStartup (postmaster.c:3989)
==2486==    by 0x520C4A: ServerLoop (postmaster.c:1729)
==2486==    by 0x5201D9: PostmasterMain (postmaster.c:1337)
==2486==    by 0x45DFA6: main (main.c:228)
==2486== 
{
   <insert_a_suppression_name_here>
   Memcheck:User
   fun:PageAddItemExtended
   fun:RelationPutHeapTuple
   fun:heap_update
   fun:simple_heap_update
   fun:CatalogTupleUpdate
   fun:statext_store
   fun:BuildRelationExtStatistics
   fun:do_analyze_rel
   fun:analyze_rel
   fun:vacuum
   fun:ExecVacuum
   fun:standard_ProcessUtility
   fun:ProcessUtility
   fun:PortalRunUtility
   fun:PortalRunMulti
   fun:PortalRun
   fun:exec_simple_query
   fun:PostgresMain
   fun:BackendRun
   fun:BackendStartup
}
==2486== Uninitialised byte(s) found during client check request
==2486==    at 0x1C4857: printtup (printtup.c:347)
==2486==    by 0x401FD5: ExecutePlan (execMain.c:1681)
==2486==    by 0x3FFDED: standard_ExecutorRun (execMain.c:355)
==2486==    by 0x3FFC07: ExecutorRun (execMain.c:298)
==2486==    by 0x5C40BD: PortalRunSelect (pquery.c:928)
==2486==    by 0x5C3D50: PortalRun (pquery.c:769)
==2486==    by 0x5BDC1A: exec_simple_query (postgres.c:1101)
==2486==    by 0x5C203F: PostgresMain (postgres.c:4071)
==2486==    by 0x525138: BackendRun (postmaster.c:4317)
==2486==    by 0x524848: BackendStartup (postmaster.c:3989)
==2486==    by 0x520C4A: ServerLoop (postmaster.c:1729)
==2486==    by 0x5201D9: PostmasterMain (postmaster.c:1337)
==2486==    by 0x45DFA6: main (main.c:228)
==2486==  Address 0x3e8c50f5 is in a rw- anonymous segment
==2486==  Uninitialised value was created by a heap allocation
==2486==    at 0x76212F: palloc (mcxt.c:872)
==2486==    by 0x578814: statext_ndistinct_build (mvdistinct.c:80)
==2486==    by 0x577CCE: BuildRelationExtStatistics (extended_stats.c:94)
==2486==    by 0x3546B6: do_analyze_rel (analyze.c:577)
==2486==    by 0x353B76: analyze_rel (analyze.c:271)
==2486==    by 0x3E7B89: vacuum (vacuum.c:321)
==2486==    by 0x3E7755: ExecVacuum (vacuum.c:122)
==2486==    by 0x5C5F1C: standard_ProcessUtility (utility.c:670)
==2486==    by 0x5C5724: ProcessUtility (utility.c:353)
==2486==    by 0x5C46CA: PortalRunUtility (pquery.c:1174)
==2486==    by 0x5C48D0: PortalRunMulti (pquery.c:1317)
==2486==    by 0x5C3E1A: PortalRun (pquery.c:795)
==2486==    by 0x5BDC1A: exec_simple_query (postgres.c:1101)
==2486==    by 0x5C203F: PostgresMain (postgres.c:4071)
==2486==    by 0x525138: BackendRun (postmaster.c:4317)
==2486==    by 0x524848: BackendStartup (postmaster.c:3989)
==2486==    by 0x520C4A: ServerLoop (postmaster.c:1729)
==2486==    by 0x5201D9: PostmasterMain (postmaster.c:1337)
==2486==    by 0x45DFA6: main (main.c:228)
==2486== 
{
   <insert_a_suppression_name_here>
   Memcheck:User
   fun:printtup
   fun:ExecutePlan
   fun:standard_ExecutorRun
   fun:ExecutorRun
   fun:PortalRunSelect
   fun:PortalRun
   fun:exec_simple_query
   fun:PostgresMain
   fun:BackendRun
   fun:BackendStartup
   fun:ServerLoop
   fun:PostmasterMain
   fun:main
}
==2486== Conditional jump or move depends on uninitialised value(s)
==2486==    at 0x220FCC: log_heap_update (heapam.c:7585)
==2486==    by 0x21ABBA: heap_update (heapam.c:4240)
==2486==    by 0x21BAA2: simple_heap_update (heapam.c:4511)
==2486==    by 0x2B2B1F: CatalogTupleUpdate (indexing.c:216)
==2486==    by 0x5784C2: statext_store (extended_stats.c:298)
==2486==    by 0x577CFF: BuildRelationExtStatistics (extended_stats.c:99)
==2486==    by 0x3546B6: do_analyze_rel (analyze.c:577)
==2486==    by 0x353B76: analyze_rel (analyze.c:271)
==2486==    by 0x3E7B89: vacuum (vacuum.c:321)
==2486==    by 0x3E7755: ExecVacuum (vacuum.c:122)
==2486==    by 0x5C5F1C: standard_ProcessUtility (utility.c:670)
==2486==    by 0x5C5724: ProcessUtility (utility.c:353)
==2486==    by 0x5C46CA: PortalRunUtility (pquery.c:1174)
==2486==    by 0x5C48D0: PortalRunMulti (pquery.c:1317)
==2486==    by 0x5C3E1A: PortalRun (pquery.c:795)
==2486==    by 0x5BDC1A: exec_simple_query (postgres.c:1101)
==2486==    by 0x5C203F: PostgresMain (postgres.c:4071)
==2486==    by 0x525138: BackendRun (postmaster.c:4317)
==2486==    by 0x524848: BackendStartup (postmaster.c:3989)
==2486==    by 0x520C4A: ServerLoop (postmaster.c:1729)
==2486==  Uninitialised value was created by a heap allocation
==2486==    at 0x76212F: palloc (mcxt.c:872)
==2486==    by 0x578814: statext_ndistinct_build (mvdistinct.c:80)
==2486==    by 0x577CCE: BuildRelationExtStatistics (extended_stats.c:94)
==2486==    by 0x3546B6: do_analyze_rel (analyze.c:577)
==2486==    by 0x353B76: analyze_rel (analyze.c:271)
==2486==    by 0x3E7B89: vacuum (vacuum.c:321)
==2486==    by 0x3E7755: ExecVacuum (vacuum.c:122)
==2486==    by 0x5C5F1C: standard_ProcessUtility (utility.c:670)
==2486==    by 0x5C5724: ProcessUtility (utility.c:353)
==2486==    by 0x5C46CA: PortalRunUtility (pquery.c:1174)
==2486==    by 0x5C48D0: PortalRunMulti (pquery.c:1317)
==2486==    by 0x5C3E1A: PortalRun (pquery.c:795)
==2486==    by 0x5BDC1A: exec_simple_query (postgres.c:1101)
==2486==    by 0x5C203F: PostgresMain (postgres.c:4071)
==2486==    by 0x525138: BackendRun (postmaster.c:4317)
==2486==    by 0x524848: BackendStartup (postmaster.c:3989)
==2486==    by 0x520C4A: ServerLoop (postmaster.c:1729)
==2486==    by 0x5201D9: PostmasterMain (postmaster.c:1337)
==2486==    by 0x45DFA6: main (main.c:228)
==2486== 
{
   <insert_a_suppression_name_here>
   Memcheck:Cond
   fun:log_heap_update
   fun:heap_update
   fun:simple_heap_update
   fun:CatalogTupleUpdate
   fun:statext_store
   fun:BuildRelationExtStatistics
   fun:do_analyze_rel
   fun:analyze_rel
   fun:vacuum
   fun:ExecVacuum
   fun:standard_ProcessUtility
   fun:ProcessUtility
   fun:PortalRunUtility
   fun:PortalRunMulti
   fun:PortalRun
   fun:exec_simple_query
   fun:PostgresMain
   fun:BackendRun
   fun:BackendStartup
   fun:ServerLoop
}

printttup being reached usually isn't a good signal...

Greetings,

Andres Freund


Responses

pgsql-hackers by date

Next:From: Alexander KorotkovDate: 2017-03-25 21:29:25
Subject: Re: LWLock optimization for multicore Power machines
Previous:From: Tom LaneDate: 2017-03-25 20:32:33
Subject: Re: LWLock optimization for multicore Power machines

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group