Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1evsQx-00035w-KW for pgsql-www@arkaria.postgresql.org; Tue, 13 Mar 2018 22:30:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1evsQw-0007s5-Ki for pgsql-www@arkaria.postgresql.org; Tue, 13 Mar 2018 22:30:14 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1evsQw-0007rZ-Ca for pgsql-www@lists.postgresql.org; Tue, 13 Mar 2018 22:30:14 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1evsQt-0004WP-TL for pgsql-www@lists.postgresql.org; Tue, 13 Mar 2018 22:30:13 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id w2DMU7Jv006770; Tue, 13 Mar 2018 18:30:07 -0400 From: Tom Lane To: Stephen Frost cc: Peter Eisentraut , Magnus Hagander , PostgreSQL WWW Subject: Re: Bogus reports from coverage.postgresql.org In-reply-to: <963.1520973051@sss.pgh.pa.us> References: <30195.1520790475@sss.pgh.pa.us> <30669.1520791101@sss.pgh.pa.us> <31446.1520791925@sss.pgh.pa.us> <1594.1520795000@sss.pgh.pa.us> <2633.1520796277@sss.pgh.pa.us> <13148.1520798486@sss.pgh.pa.us> <20180313170105.GC2416@tamriel.snowman.net> <963.1520973051@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Tue, 13 Mar 2018 16:30:51 -0400" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <6768.1520980207.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Tue, 13 Mar 2018 18:30:07 -0400 Message-ID: <6769.1520980207@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk I wrote: > So this is basically Fedora breakage ... > but it means I don't have an easy way to check 1.13 except > by installing handmade packages, which would probably > not be definitive proof one way or the other. I overcame my trepidation after noting that the F26 and F28 lcov.spec files were nigh identical, and built lcov 1.13 on F26. And it's fine too: $ grep bogus coverage/src/backend/optimizer/util/predtest.c.* coverage/src/backend/optimizer/util/predtest.c.gcov.html: 492 0 : elog(ER= ROR, "predicate_classify returned a bogus value"); coverage/src/backend/optimizer/util/predtest.c.gcov.html: 803 0 : elog(ER= ROR, "predicate_classify returned a bogus value"); (span class=3D"lineNoCov" is what we want to see here). The underlying compiler is gcc 7.3.1 in this case. So it seems we've reduced the possibilities to these: either there's something weird about Debian's packaging of lcov, or there's a bug in some underlying perl module on Debian, or there's some incompatibility between gcc 6.3.0 and lcov 1.13. The last seems the most likely. The gcov text output looks about the same on 7.3.1: $ grep bogus src/backend/optimizer/util/predtest.c.gcov #####: 492: elog(ERROR, "predicate_classify returned a bogus v= alue"); #####: 803: elog(ERROR, "predicate_classify returned a bogus v= alue"); but now that we know that lcov looks directly at the .gcno files, and possibly also .gcda (I've not examined the source code), I doubt that we should trust that "the gcov text output looks the same" means anything compatibility-wise. regards, tom lane