Valgrind failures caused by multivariate stats patch - Mailing list pgsql-hackers

From Andres Freund
Subject Valgrind failures caused by multivariate stats patch
Date
Msg-id 20170325211031.4xxoptigqxm2emn2@alap3.anarazel.de
Whole thread Raw
Responses Re: Valgrind failures caused by multivariate stats patch  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: LWLock optimization for multicore Power machines
Next
From: Alexander Korotkov
Date:
Subject: Re: LWLock optimization for multicore Power machines