the generated coverage report doesn't contain any data
Vijay Kumar Banerjee
vijaykumar9597 at gmail.com
Tue Apr 17 19:32:59 UTC 2018
On 18 April 2018 at 00:57, Vijay Kumar Banerjee <vijaykumar9597 at gmail.com>
wrote:
> The report is showing some data !!
>
> I merged a lot of changes form coverage-merge , it's showing some data now
> , but I'm still getting a set of errors. I'll paste them below.
>
> I have attached a screenshot of the report.html
>
> errors :
> ............
> INFO: DesiredSymbols::createCoverageMap - Attempt to create unified
> coverage maps for _Workspace_Allocate_or_fatal_error with different sizes
> (/home/lunatic/development/rtems/kernel/leon3/sparc-
> rtems5/c/leon3/testsuites/samples/capture/capture.exe/84 !=
> /home/lunatic/development/rtems/kernel/leon3/sparc-
> rtems5/c/leon3/testsuites/samples/base_sp/base_sp.exe/60)
>
> INFO: DesiredSymbols::mergeCoverageMap - Unable to merge coverage map for
> _Workspace_Allocate_or_fatal_error because the sizes are different
>
> Am I still possibly missing something ?
>
>
On 17 April 2018 at 11:59, Cillian O'Donnell <cpodonnell8 at gmail.com> wrote:
>
>> Also if there's any file in covoar directory of coverage-merge branch
>> that's called symbol-set.c symbol_set_reader.h or any variation of that,
>> that you don't already have pull all of them into your current branch.
>>
>> On Tue, 17 Apr 2018, 07:19 Cillian O'Donnell, <cpodonnell8 at gmail.com>
>> wrote:
>>
>>> Some things are definitely missing there. Git checkout main.c
>>> coverage-merge. If you have that branch lying around, that definitely has
>>> everything in it. I must of missed of some things updating to current
>>> master. Fingers crossed this solves our problems
>>>
>>>
>>> On Mon, 16 Apr 2018, 22:52 Vijay Kumar Banerjee, <
>>> vijaykumar9597 at gmail.com> wrote:
>>>
>>>>
>>>>
>>>> On Tue, 17 Apr 2018, 03:19 Joel Sherrill, <joel at rtems.org> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Mon, Apr 16, 2018 at 4:47 PM, Vijay Kumar Banerjee <
>>>>> vijaykumar9597 at gmail.com> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> On 17 April 2018 at 01:43, Cillian O'Donnell <cpodonnell8 at gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 16 April 2018 at 17:46, Joel Sherrill <joel at rtems.org> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Mon, Apr 16, 2018 at 2:33 AM, Vijay Kumar Banerjee <
>>>>>>>> vijaykumar9597 at gmail.com> wrote:
>>>>>>>>
>>>>>>>>> current status :
>>>>>>>>> the coverage is running now with rtems-test and generating the
>>>>>>>>> report, however, the report doesn't show any data.
>>>>>>>>>
>>>>>>>>
>>>>>>>> I've been lurking as you have been making progress. Now you have
>>>>>>>> crossed
>>>>>>>> into something you probably need some hints at. Some things to
>>>>>>>> check:
>>>>>>>>
>>>>>>>> + Obviously, check output for signs that something didn't happen
>>>>>>>> right.
>>>>>>>> Anything from a path wrong, etc. The configuration has to be right
>>>>>>>> to
>>>>>>>> point to the source code, object code, executables, etc.
>>>>>>>>
>>>>>>>> + A lot of source code has moved around since last summer. Check
>>>>>>>> that it is looking in the right places inside RTEMS.
>>>>>>>>
>>>>>>>> + Does the mechanism to get debug information actually work?
>>>>>>>> Cillian?
>>>>>>>>
>>>>>>>
>>>>>>> The covoar debug option just disables the cleaning of the tempfiles
>>>>>>> to take a look, so it's not as powerful as it might seem :)... I always
>>>>>>> used gdb here so that's probably the way to go.
>>>>>>>
>>>>>>>>
>>>>>>>> + There is a utility named trace-converter. Make sure your qemu
>>>>>>>> traces
>>>>>>>> have information in them.
>>>>>>>>
>>>>>>>> + Cillian probably has guidance on running it just on one test (say
>>>>>>>> ticker)
>>>>>>>> so you can see every step.
>>>>>>>>
>>>>>>>> + Check that the executables have symbolic information. "file"
>>>>>>>> should
>>>>>>>> show if they are stripped or not.
>>>>>>>>
>>>>>>>> I recall covoar has a verbose mode which should be of use.
>>>>>>>>
>>>>>>>> Cillian .. do you have instructions on running covoar in gdb?
>>>>>>>>
>>>>>>>
>>>>>>> Alright so run rtems-test with --no-clean option to leave the
>>>>>>> coverage files lying around
>>>>>>>
>>>>>>> $HOME/development/rtems/test/test/rtems-tools/tester/rtems-test
>>>>>>> --rtems-tools=$HOME/development/rtems/5 --log=coverage-analysis.log
>>>>>>> --rtems-bsp=leon3_qemu --coverage --no-clean --rtems-builddir=$HOME/development/rtems/leon3
>>>>>>> sparc-rtems5/c/leon3/testsuites/samples
>>>>>>>
>>>>>>> Then run
>>>>>>>
>>>>>>> gdb covoar
>>>>>>>
>>>>>>> from gdb prompt
>>>>>>>
>>>>>>> run -S /home/cpod/coverage_test/leon3/coverage/score.symcfg -O
>>>>>>> /home/cpod/coverage_test/leon3/test/score -fQEMU -Tsparc-rtems5
>>>>>>> -E/home/cpod/development/rtems/test/test/vijay/rtems-tools/
>>>>>>> tester/rtems/testing/coverage/Explanations.txt -c.cov -eexe
>>>>>>> -pRTEMS-5 /home/cpod/development/rtems/l
>>>>>>> eon3/sparc-rtems5/c/leon3/testsuites/samples/base_sp/base_sp.exe
>>>>>>>
>>>>>>> The options there are ( if you're wondering )
>>>>>>>
>>>>>>> -c COVERAGEFILE_EXTENSION EXECUTABLE1 ... EXECUTABLE2
>>>>>>>
>>>>>>> -v - verbose output
>>>>>>> -T TARGET - architecture target name
>>>>>>> -f FORMAT - simulator format
>>>>>>> (RTEMS, QEMU, TSIM or Skyeye)
>>>>>>> -E EXPLANATIONS - file of explanations
>>>>>>> -s SYMBOLS_FILE - symbols of interest
>>>>>>> -S SYMBOL_SET_FILE - path to symbol_sets.cfg
>>>>>>> -1 EXECUTABLE - executable to get symbols from
>>>>>>> -e EXE_EXTENSION - suffix for executables
>>>>>>> -c COVERAGEFILE_EXT - coverage file suffix
>>>>>>> -g GCNOS_LIST - list of *.gcno files
>>>>>>> -p PROJECT_NAME - name of the project
>>>>>>> -O Output_Directory - output directory default=.
>>>>>>> -d debug - disable cleaning of tempfiles.
>>>>>>>
>>>>>>>
>>>>>> maybe the problem is here . I am getting an error for the -S . Here
>>>>>> are the list of options that show up , capital S for symbol_set_file is not
>>>>>> one of them .
>>>>>>
>>>>>> Usage: /home/lunatic/development/rtems/5/bin/covoar [-v] -T TARGET
>>>>>> -f FORMAT [-E EXPLANATIONS] -e EXE_EXTENSION -c COVERAGEFILE_EXTENSION
>>>>>> EXECUTABLE1 ... EXECUTABLE2
>>>>>>
>>>>>> -v - verbose at initialization
>>>>>> -T TARGET - target name
>>>>>> -f FORMAT - coverage file format (RTEMS, QEMU, TSIM
>>>>>> or Skyeye)
>>>>>> -E EXPLANATIONS - name of file with explanations
>>>>>> -s SYMBOLS_FILE - name of file with symbols of interest
>>>>>> -1 EXECUTABLE - name of executable to get symbols from
>>>>>> -e EXE_EXTENSION - extension of the executables to analyze
>>>>>> -c COVERAGEFILE_EXTENSION - extension of the coverage files to
>>>>>> analyze
>>>>>> -g GCNOS_LIST - name of file with list of *.gcno files
>>>>>> -p PROJECT_NAME - name of the project
>>>>>> -C ConfigurationFileName - name of configuration file
>>>>>> -O Output_Directory - name of output directory (default=.
>>>>>>
>>>>>
>>>>> Is it processed by the getopts switch statement in main() but not
>>>>> listed in the usage? That is
>>>>> an easy mistake to creep in.
>>>>>
>>>> It gives an "invalid option" error
>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>> Just trying it there, it runs into segmentation fault. So trying to
>>>>>>> access memory it shouldn't.
>>>>>>>
>>>>>>> Starting program: /home/cpod/covoar -S /home/cpod/coverage_test/leon3/coverage/score.symcfg
>>>>>>> -O /home/cpod/coverage_test/leon3/test/score -fQEMU -Tsparc-rtems5
>>>>>>> -E/home/cpod/development/rtems/test/test/vijay/rtems-tools/
>>>>>>> tester/rtems/testing/coverage/Explanations.txt -c.cov -eexe
>>>>>>> -pRTEMS-5 /home/cpod/development/rtems/l
>>>>>>> eon3/sparc-rtems5/c/leon3/testsuites/samples/base_sp/base_sp.exe
>>>>>>> Reading configuration symbol set file: /home/cpod/coverage_test/leon3
>>>>>>> /coverage/score.symcfg
>>>>>>>
>>>>>>> Program received signal SIGSEGV, Segmentation fault.
>>>>>>> 0x00007ffff7b769bb in std::__cxx11::basic_string<char,
>>>>>>> std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char,
>>>>>>> std::char_traits<char>, std::allocator<char> > const&) ()
>>>>>>> from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
>>>>>>>
>>>>>>> Ahhh feels good to have error messages back.
>>>>>>>
>>>>>>> Oh also build covoar with no optimization and you'll have an easier
>>>>>>> time looking at stuff in gdb
>>>>>>>
>>>>>>> cd rtems-tools/tester/covoar
>>>>>>>
>>>>>>> vim wscript and change the '-O2' to '-O0' and then build again with
>>>>>>> waf and use that covoar to with gdb
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> -- vijay
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20180418/20633245/attachment-0002.html>
More information about the devel
mailing list