I happened to be trying to run the core regression tests under
valgrind, and I got the complaints attached below, from the
process that had been running the insert_conflict test script.
I could not reproduce the failure in a second run, which is not
hugely surprising because it appears to be in cross-process
sinval processing; so timing sensitivity is to be expected.
That doesn't make it any less disturbing.
One point worth mentioning is that I'd forgotten to build with
"#define USE_VALGRIND" in the first try. AFAIK that should make
valgrind strictly less sensitive, so I think it's not material,
but still.
Thoughts?
regards, tom lane
==00:00:01:51.603 386293== Memcheck, a memory error detector
==00:00:01:51.603 386293== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==00:00:01:51.603 386293== Using Valgrind-3.16.0 and LibVEX; rerun with -h for copyright info
==00:00:01:51.603 386293== Command: postmaster -i -F
==00:00:01:51.603 386293== Parent PID: 384272
==00:00:01:51.603 386293==
==00:00:02:01.931 386293== Conditional jump or move depends on uninitialised value(s)
==00:00:02:01.931 386293== at 0x945117: calc_bucket (dynahash.c:920)
==00:00:02:01.931 386293== by 0x945117: hash_search_with_hash_value (dynahash.c:1012)
==00:00:02:01.931 386293== by 0x8278C4: smgrclosenode (smgr.c:318)
==00:00:02:01.931 386293== by 0x80EDEC: ReceiveSharedInvalidMessages (sinval.c:120)
==00:00:02:01.931 386293== by 0x924112: AcceptInvalidationMessages (inval.c:689)
==00:00:02:01.931 386293== by 0x8143B8: LockRelationOid (lmgr.c:137)
==00:00:02:01.931 386293== by 0x51710C: relation_open (relation.c:56)
==00:00:02:01.931 386293== by 0x59F6B5: table_open (table.c:43)
==00:00:02:01.931 386293== by 0x5DBCA8: StorePartitionBound (heap.c:3789)
==00:00:02:01.931 386293== by 0x686EB2: ATExecAttachPartition.isra.58 (tablecmds.c:17263)
==00:00:02:01.931 386293== by 0x688F9E: ATExecCmd (tablecmds.c:5111)
==00:00:02:01.931 386293== by 0x6896BA: ATRewriteCatalogs (tablecmds.c:4781)
==00:00:02:01.931 386293== by 0x6896BA: ATController (tablecmds.c:4376)
==00:00:02:01.931 386293== by 0x8320D2: ProcessUtilitySlow.isra.7 (utility.c:1284)
==00:00:02:01.931 386293==
==00:00:02:01.931 386293== Use of uninitialised value of size 8
==00:00:02:01.931 386293== at 0x945026: hash_search_with_hash_value (dynahash.c:1017)
==00:00:02:01.931 386293== by 0x8278C4: smgrclosenode (smgr.c:318)
==00:00:02:01.931 386293== by 0x80EDEC: ReceiveSharedInvalidMessages (sinval.c:120)
==00:00:02:01.931 386293== by 0x924112: AcceptInvalidationMessages (inval.c:689)
==00:00:02:01.931 386293== by 0x8143B8: LockRelationOid (lmgr.c:137)
==00:00:02:01.931 386293== by 0x51710C: relation_open (relation.c:56)
==00:00:02:01.931 386293== by 0x59F6B5: table_open (table.c:43)
==00:00:02:01.931 386293== by 0x5DBCA8: StorePartitionBound (heap.c:3789)
==00:00:02:01.932 386293== by 0x686EB2: ATExecAttachPartition.isra.58 (tablecmds.c:17263)
==00:00:02:01.932 386293== by 0x688F9E: ATExecCmd (tablecmds.c:5111)
==00:00:02:01.932 386293== by 0x6896BA: ATRewriteCatalogs (tablecmds.c:4781)
==00:00:02:01.932 386293== by 0x6896BA: ATController (tablecmds.c:4376)
==00:00:02:01.932 386293== by 0x8320D2: ProcessUtilitySlow.isra.7 (utility.c:1284)
==00:00:02:01.932 386293==
==00:00:02:01.932 386293== Use of uninitialised value of size 8
==00:00:02:01.932 386293== at 0x94503F: hash_search_with_hash_value (dynahash.c:1023)
==00:00:02:01.932 386293== by 0x8278C4: smgrclosenode (smgr.c:318)
==00:00:02:01.932 386293== by 0x80EDEC: ReceiveSharedInvalidMessages (sinval.c:120)
==00:00:02:01.932 386293== by 0x924112: AcceptInvalidationMessages (inval.c:689)
==00:00:02:01.932 386293== by 0x8143B8: LockRelationOid (lmgr.c:137)
==00:00:02:01.932 386293== by 0x51710C: relation_open (relation.c:56)
==00:00:02:01.932 386293== by 0x59F6B5: table_open (table.c:43)
==00:00:02:01.932 386293== by 0x5DBCA8: StorePartitionBound (heap.c:3789)
==00:00:02:01.932 386293== by 0x686EB2: ATExecAttachPartition.isra.58 (tablecmds.c:17263)
==00:00:02:01.932 386293== by 0x688F9E: ATExecCmd (tablecmds.c:5111)
==00:00:02:01.932 386293== by 0x6896BA: ATRewriteCatalogs (tablecmds.c:4781)
==00:00:02:01.932 386293== by 0x6896BA: ATController (tablecmds.c:4376)
==00:00:02:01.932 386293== by 0x8320D2: ProcessUtilitySlow.isra.7 (utility.c:1284)
==00:00:02:01.932 386293==
==00:00:02:01.932 386293== Conditional jump or move depends on uninitialised value(s)
==00:00:02:01.932 386293== at 0x945071: hash_search_with_hash_value (dynahash.c:1033)
==00:00:02:01.932 386293== by 0x8278C4: smgrclosenode (smgr.c:318)
==00:00:02:01.932 386293== by 0x80EDEC: ReceiveSharedInvalidMessages (sinval.c:120)
==00:00:02:01.932 386293== by 0x924112: AcceptInvalidationMessages (inval.c:689)
==00:00:02:01.932 386293== by 0x8143B8: LockRelationOid (lmgr.c:137)
==00:00:02:01.932 386293== by 0x51710C: relation_open (relation.c:56)
==00:00:02:01.932 386293== by 0x59F6B5: table_open (table.c:43)
==00:00:02:01.932 386293== by 0x5DBCA8: StorePartitionBound (heap.c:3789)
==00:00:02:01.932 386293== by 0x686EB2: ATExecAttachPartition.isra.58 (tablecmds.c:17263)
==00:00:02:01.932 386293== by 0x688F9E: ATExecCmd (tablecmds.c:5111)
==00:00:02:01.932 386293== by 0x6896BA: ATRewriteCatalogs (tablecmds.c:4781)
==00:00:02:01.932 386293== by 0x6896BA: ATController (tablecmds.c:4376)
==00:00:02:01.932 386293== by 0x8320D2: ProcessUtilitySlow.isra.7 (utility.c:1284)
==00:00:02:01.932 386293==
==00:00:02:02.765 386293==
==00:00:02:02.765 386293== HEAP SUMMARY:
==00:00:02:02.765 386293== in use at exit: 2,385,524 bytes in 538 blocks
==00:00:02:02.765 386293== total heap usage: 8,340 allocs, 7,802 frees, 162,448,006 bytes allocated
==00:00:02:02.765 386293==
==00:00:02:03.192 386293== LEAK SUMMARY:
==00:00:02:03.192 386293== definitely lost: 368 bytes in 1 blocks
==00:00:02:03.192 386293== indirectly lost: 1,746 bytes in 45 blocks
==00:00:02:03.192 386293== possibly lost: 704 bytes in 4 blocks
==00:00:02:03.192 386293== still reachable: 2,341,786 bytes in 484 blocks
==00:00:02:03.192 386293== suppressed: 40,920 bytes in 4 blocks
==00:00:02:03.192 386293== Rerun with --leak-check=full to see details of leaked memory
==00:00:02:03.192 386293==
==00:00:02:03.192 386293== Use --track-origins=yes to see where uninitialised values come from
==00:00:02:03.192 386293== For lists of detected and suppressed errors, rerun with: -s
==00:00:02:03.192 386293== ERROR SUMMARY: 123 errors from 4 contexts (suppressed: 272 from 8)