On 2014-05-10 00:59:59 -0400, Noah Misch wrote: > On Fri, May 09, 2014 at 04:58:54PM +0200, Andres Freund wrote: > > On 2014-05-09 10:49:09 -0400, Robert Haas wrote: > > > > Patch 03: Add valgrind suppression for writing out padding bytes. That's > > > > better than zeroing the data from the get go because unitialized > > > > accesses are still detected. > > > > > > I have no understanding of valgrind suppressions. I can commit this > > > blindly if nobody else wants to pick it up. > > > > I think the only committer with previous experience in that area is > > Noah. Noah? > > I can pick up that patch.
Cool. > Static functions having only one call site are especially vulnerable to > inlining, so avoid naming them in the suppressions file. I do see > ReorderBufferSerializeChange() inlined away at -O2 and higher. Is it fair to > tie the suppression to ReorderBufferSerializeTXN() instead? Hm. That's a good point. If you're talking about tying it to ReorderBufferSerializeTXN() you mean to list it below the write, as part of the callstack? { padding_reorderbuffer_serialize Memcheck:Param write(buf) ... fun:ReorderBufferSerializeTXN } If so, yes, that should be fine. Since there's no other writes it shouldn't make a difference. > Do you happen to have a self-contained procedure for causing the server to > reach the code in question? (cd contrib/test_decoding && make -s installcheck-force) against a server running with valgrind \ --quiet --trace-children=yes --leak-check=no --track-origins=yes \ --read-var-info=yes run-pg-dev-master -c logging_collector=on \ --suppressions=/home/andres/src/postgresql/src/tools/valgrind.supp <path/to/postgres> \ -c wal_level=logical -c max_replication_slots=3 Does the trick here. Valgrind warns in the first (ddl) test run. the -force is needed because it needs a server running with -c wal_level=logical -c max_replication_slots=3. Note that you'll possibly get a spurious regression test failure because autovacuum ran inbetween and it's transaction is visible in the test output like: BEGIN + COMMIT + BEGIN ... Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers