-
Notifications
You must be signed in to change notification settings - Fork 244
geninfo chokes on files names '$x/.._filename.c.gcda' #168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Maybe not the answer you are looking for:
As you say: it was probably unwise to use filename that begin with ".." or ".". |
Here is a log from the TOT lcov; Rerunning one of the gcov lines that claims to find no data:
|
Logs from running off #169 instead of TOT as requested. |
Thanks... The other thing to check is whether that output file matches the intermediate generated by the call contained in geninfo. The first part (the gcov file content) is more important than the second. Thanks Henry |
Hi -
|
run on e4a480f |
Hi - |
I think that I finally figured out the issue and that it is fixed in 238ea7c. Sorry for the delays. |
Here is a repro:
|
this is fixed at TOT |
Hi @EvanTheB, I've the same issue with these errors: "geninfo: WARNING: GCOV did not produce any data for"... Thanks in advance for your help. |
"Top of Tree" - that is, at head of 'master'. |
Hi Henry, Thanks for this quick answer.
Okayy :-)
I tried already with the master branch but it din't fixed the issue... Maybe I did something wrong as it was a quick test... David. |
Just a clarification: What is an lcov bug, is when the gcov data is NOT empty - but lcov does not grok. If we suspect an lcov bug, then the approach is to investigate the coverage data generated by the compiler. |
Hi @henry2cox, I've made some more tests today and it seems indeed fixed in Master but not in v1.16. David. |
Hmm. Not so straightforward, I fear. The fix in 238ea7c is just to fix a bug that I had introduced related to recovery after finding an issue in the gcov data (empty file or whatever). The actual handling of the gcov/llvm-cov call and output parsing has changed a lot since 1.16. I think, not to easy to extract just the geninfo handling changes. I think, maybe easier/better to use the TOT version for now - and wait for the lcov 2.0 release - which is likely "coming soon". Sorry to be less than helpful. |
I'll follow your advice. Thanks for your time answering me anyway, I much appreciated. |
For the record, it seems that just changing the following 2 lines, fixes the issue with "geninfo: WARNING: GCOV did not produce any data for" in v1.16: diff --git a/bin/geninfo b/bin/geninfo
index 31c0b57..e1e8f5d 100755
--- a/bin/geninfo
+++ b/bin/geninfo
@@ -2555,12 +2555,12 @@ sub process_intermediate($$$)
}
# Parse resulting file(s)
- for my $gcov_filename (glob("*.gcov")) {
+ for my $gcov_filename (glob("*.gcov .*.gcov")) {
read_intermediate_text($gcov_filename, \%data);
unlink($gcov_filename);
}
- for my $gcov_filename (glob("*.gcov.json.gz")) {
+ for my $gcov_filename (glob("*.gcov.json.gz .*.gcov.json.gz")) {
read_intermediate_json($gcov_filename, \%data, \$json_basedir);
unlink($gcov_filename);
$json_format = 1; In case this helps someone... |
Part of the problem here is that that linked commit states, in its commit message, that it fixes 4 different things spanning 150 lines. The problem in this specific issue is most likely fixed by a mere 10 of those lines. Without a granular commit that fixes exactly one thing, it becomes much, much harder to backport a single fix. |
geninfo tests/flashrom_unit_tests.p/
gcov tests/flashrom_unit_tests.p/.._flashrom.c.o
Files with this strange name are produced by meson build system, there are many bugs around about this for meson projects, but I didn't find one here on lcov which seems to be the source of the bug.
mesonbuild/meson#6747
mesonbuild/meson#9844
linux-nvme/libnvme#393
The text was updated successfully, but these errors were encountered: