Interpreting Coverage Logs was Re:

Joel Sherrill joel.sherrill at oarcorp.com
Wed Jun 10 22:29:09 UTC 2015


Hi

I changed the subject.  Now to go through the output.

First, you ran only the samples so we could expect the coverage
to be very sparse at best.

Next, you may have to improve the error output for this message.
It could indicate a build problem on your side or something broken
recently in covoar. No idea. Knowing which method the base size
came from and which we are on now would help debug this.

ERROR: DesiredSymbols::createCoverageMap - Attempt to create unified coverage maps for _Thread_Handler with different sizes (128 != 184)

It indicates a serious breakdown in the assumption that ALL the
tested executables will be linked against a library that contains
a "master" copy of each method. Thus each method should be the
same in all executables it appears in. I have seen this error
when they don't match by a few bytes due to covoar not detecting
padding at the end of a method so the next method in memory is
better aligned. But this is 56 bytes which is more indicative of
a problem.

This block of error messages I don't know. You will have to look
at the code. Obviously XXX is a strong hint that the message needs
improving. :)

*** Trace block is inconsistent with coverage map
*** Trace block (0x4000add0 - 0x4000adf3) for 36 bytes
*** Coverage map XXX

I think the above means that we have seen a trace range for something
in the same method but this doesn't match it.

File: developmental.syms, Line 1167: Duplicate symbol: rtems_fsmount

Looks like a symbol may have ended up in the "interested symbols" file
twice by a fluke in scripting. Bug.

Unable to open /home/hf/development/rtems/src/rtems-tools/tester/rtems/testing/coverage/rtems.gcnos

Would appear to indicate that the code wasn't built with gcov info
in it.

It looks to me that you may not have had a clean build from scratch
and are mixing two builds. But if that's not the case, there are
some issues to track down. The executables are not consistent. Figure
out two that disagree and let's look at them.

On 6/10/2015 4:35 PM, Hermann Felbinger wrote:
> Dear all!
>
> When I execute the sample tests on a Leon2 in couverture-qemu with coverage reports enabled by applying the patches from https://devel.rtems.org/ticket/2314 I obtained the attached log file.
> So, I obtain coverage results, but at the moment I do not really understand what the error messages in the log files mean to me.
> Can somebody explain to me what this size measure is used for and how this can happen?
>
> Thanks a lot!

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the devel mailing list