Re: Bogus reports from coverage.postgresql.org

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Magnus Hagander <magnus(at)hagander(dot)net>, PostgreSQL WWW <pgsql-www(at)lists(dot)postgresql(dot)org>
Subject: Re: Bogus reports from coverage.postgresql.org
Date: 2018-03-13 22:30:07
Message-ID: 6769.1520980207@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-www

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:<span class="lineNum"> 492 </span><span class="lineNoCov"> 0 : elog(ERROR, &quot;predicate_classify returned a bogus value&quot;);</span>
coverage/src/backend/optimizer/util/predtest.c.gcov.html:<span class="lineNum"> 803 </span><span class="lineNoCov"> 0 : elog(ERROR, &quot;predicate_classify returned a bogus value&quot;);</span>

(span class="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 value");
#####: 803: elog(ERROR, "predicate_classify returned a bogus value");

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

In response to

Browse pgsql-www by date

  From Date Subject
Next Message Oleg Bartunov 2018-03-14 10:48:21 Main page of wiki.postgresql.org
Previous Message Tom Lane 2018-03-13 20:30:51 Re: Bogus reports from coverage.postgresql.org