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 1ewCSA-0005Yx-Fb for pgsql-www@arkaria.postgresql.org; Wed, 14 Mar 2018 19:52:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ewCS9-0008Qk-9u for pgsql-www@arkaria.postgresql.org; Wed, 14 Mar 2018 19:52:49 +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 1ewCS9-0008Qb-0v for pgsql-www@lists.postgresql.org; Wed, 14 Mar 2018 19:52:49 +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 1ewCS6-0007Yv-4Q for pgsql-www@lists.postgresql.org; Wed, 14 Mar 2018 19:52:47 +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 w2EJqeoG012596; Wed, 14 Mar 2018 15:52:40 -0400 From: Tom Lane To: Peter Eisentraut cc: Alvaro Herrera , Stephen Frost , Magnus Hagander , PostgreSQL WWW Subject: Re: Bogus reports from coverage.postgresql.org In-reply-to: <6735.1521045999@sss.pgh.pa.us> References: <20180314154352.ao4psdohgxd4pw65@alvherre.pgsql> <4710.1521044117@sss.pgh.pa.us> <5744.1521045105@sss.pgh.pa.us> <6735.1521045999@sss.pgh.pa.us> Comments: In-reply-to Tom Lane message dated "Wed, 14 Mar 2018 12:46:39 -0400" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <12594.1521057160.1@sss.pgh.pa.us> Date: Wed, 14 Mar 2018 15:52:40 -0400 Message-ID: <12595.1521057160@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk I wrote: > I'm still a bit suspicious that we may have a process problem, > but it's looking like there may be grounds for an lcov bug > report. Well, this is darn interesting. I got the Fedora lcov maintainer to push an update absorbing the upstream "gcc 8" fixes. (Turned out he'd already done that for rawhide, but forgot to push it into the F28 branch.) And with that, and gcc 8.0.1, ... no bug. The lines are marked "lineNoCov" with or without lcov_branch_coverage. The commit message for said upstream patch is even more interesting: Subject: [PATCH] geninfo: Add gcc 8 support Fix errors and incorrect data when trying to collect coverage data for programs compiled with gcc 8. Covers the following gcov-related changes in gcc: .gcov-file format: - Line coverage data can appear multiple times for the same line - Line coverage count can be suffixed by '*' to indicated unexecuted basic blocks in that line .gcno-file format: - new header field 'support unexecuted blocks flag' - new function record fields 'column number', 'ending line number', and 'compiler-generated entity flag' Perhaps I'm reading too much into this, but what it sounds like is that gcc's coverage data output format was incapable of correctly representing the situation before gcc 8, and thus that it's not really lcov's fault that we get questionable output. regards, tom lane