Your message dated Tue, 24 Jun 2014 16:48:34 +0000
with message-id <[email protected]>
and subject line Bug#752451: fixed in lcov 1.11-2
has caused the Debian Bug report #752451,
regarding lcov: genhtml (lcov 1.11) fails on virtual destructors
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
752451: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=752451
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: lcov
Version: 1.11-1
Severity: important

Dear Maintainer,


The new version of lcov broke the coverage builds in our C++ projects with 
errors related to destructors mapping to different lines.

Here is a small test case:

% cat foo.h
struct base
{
  virtual ~base();
};

struct sub: base
{
  virtual ~sub();
};
% cat foo.cc
#include <iostream>
#include "foo.h"

base::~base() { std::cerr << "base\n"; }
sub::~sub()   { std::cerr << "sub\n"; }
% cat main.cc
#include "foo.h"

int main()
{
   sub* s = new sub();
   delete s;
}
% g++ -O2 --coverage -Wall foo.cc main.cc -o main
% ./main
sub
base
% lcov --capture --directory . --output foo.info
Capturing coverage data from .
Found gcov version: 4.9.0
Scanning . for .gcda files ...
Found 2 data files in .
Processing foo.gcda
Processing main.gcda
Finished .info-file creation
% genhtml --legend --demangle-cpp --output-directory html foo.info
Reading data file foo.info
Found 4 entries.
Demangling 5 function names
genhtml: ERROR: Demangled function name _ZN3subD2Ev  maps to different lines (5 
vs 4)



I can see a couple of problems here, the first two being cosmetic:
1) the error message shows a mangled function name, but call it "Demangled"
2) the error message makes references to line number without giving the 
relevant file name
3) the actual error is that
     _ZN3subD2Ev, the base object version of sub::~sub() maps to foo.cc:4, while
     _ZN3subD0Ev, the deleting version of sub::~sub() maps to foo.cc:5.
   both symbols are demangled to sub::~sub().

The check that ensures that two demangled symbols map to the same line is new in
lcov 1.11.   On this example it's not clear to me whether the check is simply
wrong, or whether it is correct but something else has to be fixed to point
to the right line.  Anyway because this is reported as a hard error and no
html output is generated, it actually renders lcov unusable on our C++ projects.


Note that removing compiling with -O1 instead of -O2 makes the problem go away
in this simple case, but not in our actual projects.


Here is foo.info for reference.  Note the 'FN:4,_ZN3subD2Ev' and
'FN:5,_ZN3subD0Ev' lines.

TN:
SF:/usr/include/c++/4.9/iostream
DA:74,1
LF:1
LH:1
end_of_record
SF:/home/adl/t/foo.cc
FN:4,_ZN4baseD2Ev
FN:4,_ZN3subD2Ev
FN:4,_ZN4baseD0Ev
FN:5,_GLOBAL__sub_I__ZN4baseD2Ev
FN:5,_ZN3subD0Ev
FN:5,_Z41__static_initialization_and_destruction_0ii
FNDA:0,_ZN4baseD0Ev
FNDA:0,_ZN4baseD2Ev
FNDA:1,_GLOBAL__sub_I__ZN4baseD2Ev
FNDA:1,_Z41__static_initialization_and_destruction_0ii
FNDA:1,_ZN3subD0Ev
FNDA:1,_ZN3subD2Ev
FNF:6
FNH:4
DA:4,1
DA:5,6
LF:2
LH:2
end_of_record
TN:
SF:/home/adl/t/foo.h
DA:1,1
DA:6,1
LF:2
LH:2
end_of_record
SF:/home/adl/t/main.cc
FNDA:1,main
FNF:1
FNH:1
DA:3,1
DA:5,1
DA:7,1
LF:3
LH:3
end_of_record


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.14-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lcov depends on:
ii  gcc   4:4.9.0-3
ii  perl  5.18.2-4

Versions of packages lcov recommends:
ii  libgd-gd2-perl  1:2.46-3.1+b1

lcov suggests no packages.

-- no debconf information

--- End Message ---
--- Begin Message ---
Source: lcov
Source-Version: 1.11-2

We believe that the bug you reported is fixed in the latest version of
lcov, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alastair McKinstry <[email protected]> (supplier of updated lcov package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Tue, 24 Jun 2014 16:22:33 +0100
Source: lcov
Binary: lcov
Architecture: source all
Version: 1.11-2
Distribution: unstable
Urgency: medium
Maintainer: Alastair McKinstry <[email protected]>
Changed-By: Alastair McKinstry <[email protected]>
Description:
 lcov       - Summarise Code coverage information from GCOV
Closes: 752451
Changes:
 lcov (1.11-2) unstable; urgency=medium
 .
   * Fix for fail on virtual destructors. Thanks to  Peter Oberparleiter.
     Closes: #752451.
   * Now use xz compression.
Checksums-Sha1:
 be307eda8be72c5b265c23294112aa03c712adf9 1671 lcov_1.11-2.dsc
 bf120aab08e58bd9720219886dc91b595795ddcd 21268 lcov_1.11-2.debian.tar.xz
 ea53fa15381533b0ca331f4dd0f5d90116bc970a 98638 lcov_1.11-2_all.deb
Checksums-Sha256:
 a7fa82d7593e95b686977f8782c8b9c24f66c4be8f7da026f6a7d0ce356f2e08 1671 
lcov_1.11-2.dsc
 6b27a710c9a4e148b49dea5d92ee802165ce8b7311823d3e63dd4fe843d6aca9 21268 
lcov_1.11-2.debian.tar.xz
 a3ae755c389cd3626d4d8be7bee053fdf08b0d839255e27dcddc4a733674dd20 98638 
lcov_1.11-2_all.deb
Files:
 86b2e140128f676b447b94f8c93a8360 98638 devel optional lcov_1.11-2_all.deb
 c85f80146c39328f89e7323bdc05ccec 1671 devel optional lcov_1.11-2.dsc
 55894433138539e1420598cbcf6dbfed 21268 devel optional lcov_1.11-2.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCAAGBQJTqZm5AAoJEN9LdrZRJ3Qsbq4QALk6QDGIW4Nq73g7LhzaYHEE
n4kompLV01ebxdx1n1ZTyEXIf1EbjojHry3mPt0ToGlacUvkXXlm5Ew23oID/EgY
lKNedhFWhmf5V9RmpoWDdrubQNFCwmo0q+p/idHRpLZXqwo6p9cx4tWMT47PfiJV
vW1NMJl0y3iut0HEBDbpAcugUX+olvQ76942aniLZnxQGiM+4+8m/2t6FK0XghO5
0WNMfUf/d/Te1phZ/K4XBc2YFRCpo5wpv8xHAcgT0CYiSH0IzQgKOrQQOsT49LDL
Vjt2+vYsdog5g3KL7sW3g+Q/vOvUYdQ3BWYG1lUCuMjDKc/LKRcEUXjnW+/I4tAf
W2owzhcP8QmmgJeBjLEfAk71Zh6hmD7gYyPXWJF31hlcnoIwc0e0okc7pOiiXTuA
pO8WRreYHbu28plbNPI/JOilicaXK73rl6cWJ7Ab6LC5NxNQ5gr86ngh81ZCEGlM
xK1LamRXpS7MPXu8amDskQ/PmOm41mglMTKrn1jcBih1KdVj8tm4gvCdCq4bmCZH
8bVjZ2PzR9eX1zFaK87JrSRb6/csxmWOrNURYxZXc2k/FlkkpAk4j3eOYja3CS8y
VvISDqSWlFXkNC9MibDV+tds5WnP9844beWGhigiSOhvMdJf8S/W36h2lLVlSyYM
l5+F9dp9ttBryB8NL7H/
=zij3
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to