[llvm-bugs] [Bug 33517] New: Crash using llvm-cov with missing function names in profile data
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Jun 19 15:46:24 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=33517
Bug ID: 33517
Summary: Crash using llvm-cov with missing function names in
profile data
Product: new-bugs
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: vsk at apple.com
Reporter: efriedma at codeaurora.org
CC: llvm-bugs at lists.llvm.org
I ran into a bug with binutils ld dropping the __llvm_prf_names section in my
profile binary. (Apparently, this is fixed in version 2.26, but my system has
2.24 installed.) The generated profile file was therefore missing the names.
llvm-cov then crashed with the following assertion:
llvm-cov: llvm/include/llvm/ADT/StringSet.h:33: std::pair<typename
base::iterator, bool>
llvm::StringSet<llvm::MallocAllocator>::insert(llvm::StringReflocatorTy =
llvm::MallocAllocator]: Assertion `!Key.empty()' failed.
I ran into this running a build LLVM with -DLLVM_BUILD_INSTRUMENTED_COVERAGE=On
on Ubuntu 14.04, then using prepare-code-coverage-artifact.py on llvm-tblgen.
I specified CC to point to at trunk clang; host binutils is 2.24.
Having trouble coming up with a testcase, short of uploading the llvm-tblgen
that ran into the problem. (It doesn't seem to happen for all binaries.)
Apparently I ended up with something slightly different from what would happen
if you just ran "strip -R __llvm_prf_names" on a binary with instrumentation;
that also leads to a crash, but it's a slightly different one in llvm-profdata.
I can dig a bit more if I had some idea what I'm looking for.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170619/d482c98f/attachment.html>
More information about the llvm-bugs
mailing list