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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2017-03-25 21:29:25 Re: LWLock optimization for multicore Power machines
Previous Message Tom Lane 2017-03-25 20:32:33 Re: LWLock optimization for multicore Power machines