[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


            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