Re: Bogus reports from coverage.postgresql.org
От | Tom Lane |
---|---|
Тема | Re: Bogus reports from coverage.postgresql.org |
Дата | |
Msg-id | 6769.1520980207@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Bogus reports from coverage.postgresql.org (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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, "predicate_classify returned a bogus value");</span> coverage/src/backend/optimizer/util/predtest.c.gcov.html:<span class="lineNum"> 803 </span><span class="lineNoCov"> 0 : elog(ERROR, "predicate_classify returned a bogus value");</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
В списке pgsql-www по дате отправления: