<div dir="auto">Oh great!. So the coverage-merge branch worked. The stuff about symbol-sets and a fix to get rid of a dependency of one of the external tools is all that hasn't been merged there. Like Joel said there, try run it again with covoar built with less optimization. The option is in covoar/wscript.</div><br><div class="gmail_quote"><div dir="ltr">On Wed, 18 Apr 2018, 17:32 Joel Sherrill, <<a href="mailto:joel@rtems.org">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 18, 2018 at 10:49 AM, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" target="_blank" rel="noreferrer">vijaykumar9597@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">It's great to see it produce some data .<div>I have attached a screenshot of the report generated from testsuites <br></div></div></blockquote><div><br></div><div>It is good to see results. I have no idea about the "goodness" of them. That depends</div><div>on the configuration, tests run, optimization level, etc. We normally use -Os for </div><div>coverage analysis because -O2 unrolls loops and duplicates code. -Os has the</div><div>generated code more closely match the source.</div><div><br></div><div>I suppose the next step is to work to get Cillian's updated work merged. </div><div><br></div><div>Then for me to try to duplicate the results.</div><div><br></div><div>FWIW I am teaching an RTEMS class next week and won't be around as much.</div><div><br></div><div>--joel</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><br></div></div><div><div class="m_3811262728376971612h5"><div><br></div><div class="gmail_extra">
<br><div class="gmail_quote">On 18 April 2018 at 02:07, Cillian O'Donnell <span dir="ltr"><<a href="mailto:cpodonnell8@gmail.com" target="_blank" rel="noreferrer">cpodonnell8@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Could be still missing something, try using the whole covoar directory from coverage-merge. I spent a good bit of time fixing errors like that, would be strange if it popped back up again but it could be right. Either way we're in pretty good shape now. Report looks good, try and run it with the full testsuite to see what happens, it takes a while, a hour-ish.<br></div><div class="m_3811262728376971612m_-4192267228111381009HOEnZb"><div class="m_3811262728376971612m_-4192267228111381009h5"><div class="gmail_extra"><br><div class="gmail_quote">On 17 April 2018 at 20:32, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" target="_blank" rel="noreferrer">vijaykumar9597@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br clear="all"><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><br></div></div></div></div><div class="gmail_quote"><span>On 18 April 2018 at 00:57, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" target="_blank" rel="noreferrer">vijaykumar9597@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The report is showing some data !!<div><br></div><div>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. </div><div><br></div><div>I have attached a screenshot of the report.html<br><div class="gmail_extra"><br></div><div class="gmail_extra">errors :</div><div class="gmail_extra">............</div><div class="gmail_extra"><div class="gmail_extra">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)</div><div><br></div></div><div class="gmail_extra"><div class="gmail_extra">INFO: DesiredSymbols::mergeCoverageMap - Unable to merge coverage map for _Workspace_Allocate_or_fatal_error because the sizes are different</div><div><br></div></div><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560h5"><div class="gmail_extra"><span style="color:rgb(34,34,34)"></span></div></div></div></div></div></blockquote></span><div>Am I still possibly missing something ? </div><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560h5"><div class="gmail_extra"><span style="color:rgb(34,34,34)"> </span><br></div></div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560h5"><div class="gmail_extra"><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail_signature"><div dir="ltr"><div><div dir="ltr">On 17 April 2018 at 11:59, Cillian O'Donnell <span dir="ltr"><<a href="mailto:cpodonnell8@gmail.com" target="_blank" rel="noreferrer">cpodonnell8@gmail.com</a>></span> wrote:<br></div></div></div></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">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.</div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-HOEnZb"><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-h5"><br><div class="gmail_quote"><div dir="ltr">On Tue, 17 Apr 2018, 07:19 Cillian O'Donnell, <<a href="mailto:cpodonnell8@gmail.com" target="_blank" rel="noreferrer">cpodonnell8@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">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<div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 16 Apr 2018, 22:52 Vijay Kumar Banerjee, <<a href="mailto:vijaykumar9597@gmail.com" rel="noreferrer noreferrer" target="_blank">vijaykumar9597@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">On Tue, 17 Apr 2018, 03:19 Joel Sherrill, <<a href="mailto:joel@rtems.org" rel="noreferrer noreferrer noreferrer" target="_blank">joel@rtems.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 16, 2018 at 4:47 PM, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">vijaykumar9597@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-m_3306327642444901710m_-4853997476376020076m_-710965887708498260m_-8375609387675333733h5"><br clear="all"><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-m_3306327642444901710m_-4853997476376020076m_-710965887708498260m_-8375609387675333733m_1290806999441222554gmail_signature"><div dir="ltr"><div><div dir="ltr">On 17 April 2018 at 01:43, Cillian O'Donnell <span dir="ltr"><<a href="mailto:cpodonnell8@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">cpodonnell8@gmail.com</a>></span> wrote:<br></div></div></div></div></div></div></div><div class="gmail_quote"><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-m_3306327642444901710m_-4853997476376020076m_-710965887708498260m_-8375609387675333733h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-m_3306327642444901710m_-4853997476376020076m_-710965887708498260m_-8375609387675333733m_1290806999441222554gmail-">On 16 April 2018 at 17:46, Joel Sherrill <span dir="ltr"><<a href="mailto:joel@rtems.org" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">joel@rtems.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-m_3306327642444901710m_-4853997476376020076m_-710965887708498260m_-8375609387675333733m_1290806999441222554gmail-m_-83190965577567442gmail-">On Mon, Apr 16, 2018 at 2:33 AM, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">vijaykumar9597@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">current status :<div>the coverage is running now with rtems-test and generating the report, however, the report doesn't show any data.</div></div></blockquote><div><br></div></span><div>I've been lurking as you have been making progress. Now you have crossed</div><div>into something you probably need some hints at. Some things to check:</div><div><br></div><div>+ Obviously, check output for signs that something didn't happen right.</div><div>Anything from a path wrong, etc. The configuration has to be right to</div><div>point to the source code, object code, executables, etc. </div><div><br></div><div>+ A lot of source code has moved around since last summer. Check</div><div>that it is looking in the right places inside RTEMS.</div><div><br></div><div>+ Does the mechanism to get debug information actually work? Cillian?</div></div></div></div></blockquote><div><br></div></span><div>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.<br></div><span class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-m_3306327642444901710m_-4853997476376020076m_-710965887708498260m_-8375609387675333733m_1290806999441222554gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>+ There is a utility named trace-converter. Make sure your qemu traces<br></div><div>have information in them.</div><div><br></div><div>+ Cillian probably has guidance on running it just on one test (say ticker)</div><div>so you can see every step.</div><div><br></div><div>+ Check that the executables have symbolic information. "file" should</div><div>show if they are stripped or not.</div><div><br></div><div>I recall covoar has a verbose mode which should be of use.</div><div><br></div><div>Cillian .. do you have instructions on running covoar in gdb?</div></div></div></div></blockquote><div><br></div></span><div>Alright so run rtems-test with --no-clean option to leave the coverage files lying around<br><br>$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<br><br></div><div>Then run<br><br></div><div>gdb covoar<br><br></div><div>from gdb prompt <br><br>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/leon3/sparc-rtems5/c/leon3/testsuites/samples/base_sp/base_sp.exe<br><br></div><div>The options there are ( if you're wondering )<br><br> -c COVERAGEFILE_EXTENSION EXECUTABLE1 ... EXECUTABLE2<br><br> -v                  - verbose output<br> -T TARGET           - architecture target name<br> -f FORMAT           - simulator format <br>(RTEMS, QEMU, TSIM or Skyeye)<br> -E EXPLANATIONS     - file of explanations<br> -s SYMBOLS_FILE     - symbols of interest<br> -S SYMBOL_SET_FILE  - path to symbol_sets.cfg<br> -1 EXECUTABLE       - executable to get symbols from<br> -e EXE_EXTENSION    - suffix for executables<br> -c COVERAGEFILE_EXT - coverage file suffix<br> -g GCNOS_LIST       - list of *.gcno files<br> -p PROJECT_NAME     - name of the project<br> -O Output_Directory - output directory default=.<br> -d debug            - disable cleaning of tempfiles.<br><br></div></div></div></div></blockquote><div><br></div></div></div><div>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 .</div><div><br></div><div>Usage: /home/lunatic/development/rtems/5/bin/covoar [-v] -T TARGET -f FORMAT [-E EXPLANATIONS] -e EXE_EXTENSION -c COVERAGEFILE_EXTENSION EXECUTABLE1 ... EXECUTABLE2</div><div><br></div><div>  -v                        - verbose at initialization</div><div>  -T TARGET                 - target name</div><div>  -f FORMAT                 - coverage file format (RTEMS, QEMU, TSIM or Skyeye)</div><div>  -E EXPLANATIONS           - name of file with explanations</div><div>  -s SYMBOLS_FILE           - name of file with symbols of interest</div><div>  -1 EXECUTABLE             - name of executable to get symbols from</div><div>  -e EXE_EXTENSION          - extension of the executables to analyze</div><div>  -c COVERAGEFILE_EXTENSION - extension of the coverage files to analyze</div><div>  -g GCNOS_LIST             - name of file with list of *.gcno files</div><span><div>  -p PROJECT_NAME           - name of the project</div></span><div>  -C ConfigurationFileName  - name of configuration file</div><div>  -O Output_Directory       - name of output directory (default=.</div></div></div></div></blockquote><div><br></div><div>Is it processed by the getopts switch statement in main() but not listed in the usage? That is</div><div>an easy mistake to creep in.</div></div></div></div></blockquote></div></div><div dir="auto">It gives an "invalid option" error</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div><div>Just trying it there, it runs into segmentation fault. So trying to access memory it shouldn't.<br><br>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/leon3/sparc-rtems5/c/leon3/testsuites/samples/base_sp/base_sp.exe<br>Reading configuration symbol set file: /home/cpod/coverage_test/leon3/coverage/score.symcfg<br><br>Program received signal SIGSEGV, Segmentation fault.<br>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&) ()<br>   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6<br><br></div><div>Ahhh feels good to have error messages back.<br><br></div><div>Oh also build covoar with no optimization and you'll have an easier time looking at stuff in gdb<br></div><div><br>cd rtems-tools/tester/covoar<br><br></div><div>vim wscript and change the '-O2' to '-O0' and then build again with waf and use that covoar to with gdb<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><span class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-m_3306327642444901710m_-4853997476376020076m_-710965887708498260m_-8375609387675333733m_1290806999441222554gmail-m_-83190965577567442gmail-m_-63266058933992612HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_3811262728376971612m_-4192267228111381009m_8704822372603771651m_-3765528967245896560m_7541507445246565983gmail-m_3306327642444901710m_-4853997476376020076m_-710965887708498260m_-8375609387675333733m_1290806999441222554gmail-m_-83190965577567442gmail-m_-63266058933992612m_1506347161607737147gmail_signature"><div dir="ltr"><div><div dir="ltr">-- vijay</div></div></div></div></div>
</font></span></div></div>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div>
</blockquote></span></div><br></div></div>
</blockquote></div><br></div></div>
</blockquote></div></div></div>
</blockquote></div></blockquote></div>
</div></div></blockquote></div><br></div></div></div></div></div>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div></div>
</blockquote></div>