It seems that coverage is not displayed if lcov.info has many entries for the same file and the DA lines have different values - the entry that follows overwrites previous line count value (IMHO counts should be added from all entries), e.g.:
TN:
SF:/tmp/file.c
DA:1,13
end_of_record
TN:
SF:/tmp/file.c
DA:1,4
end_of_record
TN:
SF:/tmp/file.c
DA:1,0
end_of_record
In such case the line 1 will be reported as not covered.