hbowden / nextgen

A Genetic File, Syscall and Network Fuzzer.
Other
58 stars 15 forks source link

Code coverage generation regression. #7

Open hbowden opened 7 years ago

hbowden commented 7 years ago

Running make coverage no longer generates code coverage reports. Code coverage generation fails with the error message below.

`100% tests passed, 0 tests failed out of 7

Total Test time (real) = 78.24 sec Capturing coverage data from . Found gcov version: 7.3.0 Found LLVM gcov version 3.4, which emulates gcov version 4.2 Scanning . for .gcda files ... geninfo: WARNING: no .gcda files found in . - skipping! Finished .info-file creation Reading tracefile /Users/nah/desktop/nextgen/build/coverage.info lcov: ERROR: no valid records found in tracefile /Users/nah/desktop/nextgen/build/coverage.info make[3]: * [CMakeFiles/coverage] Error 255 make[2]: * [CMakeFiles/coverage.dir/all] Error 2 make[1]: * [CMakeFiles/coverage.dir/rule] Error 2 make: * [coverage] Error 2 nahs-MBP:build nah$ `

hbowden commented 7 years ago

CMakeLists.txt is not passing -g -O0 -fprofile-arcs -ftest-coverage so that needs to be fixed. But when these compiler flags are hardcoded and cmake coverage is run gcov crashes. This may be a macOS 10.12 specific bug because I didn't notice it on earlier versions of osx or other operating systems.

7:     #0 0x7fff9845ab91 in strlen (libsystem_c.dylib+0x1b91)
7:     #1 0x104c722c1 in wrap_strdup (libclang_rt.asan_osx_dynamic.dylib+0x452c1)
7:     #2 0x104a20e84 in llvm_gcda_start_file GCDAProfiling.c:181
7:     #3 0x1049b7b28 in __llvm_gcov_writeout (memory-intergration-test+0x100006b28)
7:     #4 0x7fff984b919e in __cxa_finalize_ranges (libsystem_c.dylib+0x6019e)
7:     #5 0x7fff984b94d1 in exit (libsystem_c.dylib+0x604d1)
7:     #6 0x7fff9842425b in start (libdyld.dylib+0x525b)