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 ---

