llvm-cov hangs when passing src/buildtools, src/build or src/third_party as SOURCES |
|||||||
Issue descriptionI was trying to implement a solution to exclude out/ and third_party/, so I first got a list of top level directories under src/, and then pass all of them to llvm-cov except for out/ and third_party, however, llvm-cov hangs. I bisected all the filters, and looks like src/buildtools/ is the culprit. And the hang is reproducible using the following command. /Users/liaoyuke/chromium/src/third_party/llvm-build/Release+Asserts/bin/llvm-cov export -summary-only -instr-profile=out/yuke/coverage.profdata out/coverage/url_unittests /Users/liaoyuke/chromium/src/buildtools/ One thing special about src/buildtools/ is that there are no executable source files in it, and I guess that might be the reason causing the hang. While waiting for this issue to be fixed at the llvm side, I'll try to find another workaround.
,
Mar 2 2018
hmm, my guess may not be true, I tried src/docs, and it works
,
Mar 2 2018
One more strange behavior, not sure if it's related. "time python tools/code_coverage/coverage.py url_unittests -c "out/coverage/url_unittests" -b out/coverage/ -o out/yuke -v" real 0m11.583s user 0m13.896s sys 0m5.028s Finishes within 20 seconds when filters are not specified, however, "time python tools/code_coverage/coverage.py url_unittests -c "out/coverage/url_unittests" -b out/coverage/ -o out/yuke -f third_party/" has been running over 5 minutes and still haven't finished.
,
Mar 2 2018
Here is a full list of filters that will cause llvm to hang: src/build src/buildtool src/third_party For now, I'll blacklist them in the script until this is fixed at llvm side.
,
Mar 7 2018
This issue seems pretty bad, I saw a few other cases where some filters cause llvm-cov to hang. I'll try to take a look this week, if I can't figure it out, I'll give it back to you next week when you're back :)
,
Mar 19 2018
,
Mar 27 2018
Interesting! This is the file causing the hang: https://github.com/llvm-mirror/libcxx/blob/master/test/std/experimental/filesystem/Inputs/static_test_env/bad_symlink I haven't completely understood the details, but this for loop got stuck on this bad symbol link file: https://cs.corp.google.com/piper///depot/google3/third_party/llvm/llvm/tools/llvm-cov/CodeCoverage.cpp?q=CodeCoverage.cpp&sq=package:piper+file://depot/google3+-file:google3/experimental&l=215
,
Mar 27 2018
Forgot to mention, src/buildtools added libc++ as a third_party dependency, so this is why using src/buildtools as a filter hangs.
,
Apr 9 2018
,
Apr 9 2018
,
Apr 17 2018
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by liaoyuke@chromium.org
, Mar 2 2018