kennytm / cargo-kcov

Cargo subcommand to run kcov to get coverage report on Linux
127 stars 20 forks source link

kcov segfaults when covering its own on ≥1.16.0 #8

Closed kennytm closed 7 years ago

kennytm commented 7 years ago

Relevant Travis CI job: https://travis-ci.org/kennytm/cargo-kcov/builds/217870153

Stack trace on Travis:

Program terminated with signal 11, Segmentation fault.
#0  0x00007f5c147664fd in dwarf_getsrclines () from /usr/lib/x86_64-linux-gnu/libdw.so.1

Thread 1 (Thread 0x7f5c14b8c740 (LWP 5491)):
#0  0x00007f5c147664fd in dwarf_getsrclines () from /usr/lib/x86_64-linux-gnu/libdw.so.1
#1  0x00000000004512cb in kcov::DwarfParser::forEachLine (this=0x7ffc470ce170, listener=...) at /home/travis/build/kennytm/cargo-kcov/kcov-33/src/parsers/dwarf.cc:63
#2  0x000000000044fd11 in parseOneDwarf (relocation=93824992231424, this=0x6b1780) at /home/travis/build/kennytm/cargo-kcov/kcov-33/src/parsers/elf-parser.cc:420
#3  ElfInstance::doParse (this=0x6b1780, relocation=93824992231424) at /home/travis/build/kennytm/cargo-kcov/kcov-33/src/parsers/elf-parser.cc:305
#4  0x0000000000452ef2 in checkSolibData (this=0x20c8560) at /home/travis/build/kennytm/cargo-kcov/kcov-33/src/solib-handler.cc:228
#5  SolibHandler::onTick (this=0x20c8560) at /home/travis/build/kennytm/cargo-kcov/kcov-33/src/solib-handler.cc:78
#6  0x000000000041887d in tick (this=0x20c7ed0) at /home/travis/build/kennytm/cargo-kcov/kcov-33/src/collector.cc:72
#7  Collector::run (this=0x20c7ed0, filename=...) at /home/travis/build/kennytm/cargo-kcov/kcov-33/src/collector.cc:53
#8  0x0000000000416c78 in main (argc=<optimized out>, argv=<optimized out>) at /home/travis/build/kennytm/cargo-kcov/kcov-33/src/main.cc:298

Not reproducible on my Debian. Apparently an upstream issue of either SimonKagstrom/kcov#124, SimonKagstrom/kcov#153, SimonKagstrom/kcov#172 or rust-lang/rust#27324.

Currently blocking 0.4.0 release because I can't reliably assess coverage quality.