[llvm-bugs] [Bug 44349] New: [MC] Assertion `Symbol' failed

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Dec 19 15:38:42 PST 2019


https://bugs.llvm.org/show_bug.cgi?id=44349

            Bug ID: 44349
           Summary: [MC] Assertion `Symbol' failed
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: MC
          Assignee: unassignedbugs at nondot.org
          Reporter: leonardchan at google.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 22951
  --> https://bugs.llvm.org/attachment.cgi?id=22951&action=edit
reproducer.tar.gz

We're hitting this assertion error with ToT llvm:

```
clang:
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/MC/MCExpr.cpp:182:
llvm::MCSymbolRefExpr::MCSymbolRefExpr(const llvm::MCSymbol *,
llvm::MCSymbolRefExpr::VariantKind, const llvm::MCAsmInfo *, llvm::SMLoc):
Assertion `Symbol' failed.
Stack dump:
0.      Program arguments: bin/clang -cc1 -triple x86_64-unknown-fuchsia
-emit-obj --mrelax-relocations -disable-free -disable-llvm-verifier
-discard-value-names -main-file-name dynlink.c -mrelocation-model pic
-pic-level 2 -mthread-model posix -mframe-pointer=all -masm-verbose
-mconstructor-aliases -ffreestanding -munwind-tables -fuse-init-array
-target-cpu x86-64 -target-feature +cx16 -dwarf-column-info
-debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb
-ffunction-sections -fdata-sections -sys-header-deps -D
DYNLINK_LDSVC_CONFIG="sancov" -D
TOOLCHAIN_VERSION=s8C8xEGKRekKT76tFnfhh2IBpFFwv2m3x8YJL9FN2usC -D
ZX_ASSERT_LEVEL=2 -D WITH_FRAME_POINTERS=1 -D
_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D _ALL_SOURCE -D _XOPEN_SOURCE=700
-O2 -Wall -Wextra -Wno-unused-parameter -Wno-address-of-packed-member
-Wnewline-eof -Wno-unknown-warning-option -Wno-c99-designator
-Wno-int-in-bool-context -Wthread-safety -Wimplicit-fallthrough -Werror
-Wno-error=deprecated-declarations -Wno-unused-function -Wno-sign-compare
-Wno-implicit-fallthrough -Wstrict-prototypes -Wwrite-strings
-Werror=incompatible-pointer-types -std=c11 -fconst-strings
-fdebug-prefix-map=src/fuchsia=../.. -ferror-limit 19 -fmessage-length 0
-fsanitize-coverage-type=3 -fsanitize-coverage-trace-pc-guard
-fsanitize=safe-stack -ftrivial-auto-var-init=pattern -fgnuc-version=4.2.1
-fobjc-runtime=gcc -fno-common -fdiagnostics-show-option -fcolor-diagnostics
-vectorize-loops -vectorize-slp -faddrsig -x c
/usr/local/google/home/leonardchan/Documents/dynlink-f3d0dc.c 
1.      <eof> parser at end of file
2.      Code generation
 #0 0x00000000078aa177 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Support/Unix/Signals.inc:548:11
 #1 0x00000000078aa269 PrintStackTraceSignalHandler(void*)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Support/Unix/Signals.inc:609:1
 #2 0x00000000078a8c8b llvm::sys::RunSignalHandlers()
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Support/Signals.cpp:67:5
 #3 0x00000000078aa90b SignalHandler(int)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Support/Unix/Signals.inc:390:1
 #4 0x00007fc6e79c93a0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x123a0)
 #5 0x00007fc6e6c84cfb gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x36cfb)
 #6 0x00007fc6e6c6f8ad abort (/lib/x86_64-linux-gnu/libc.so.6+0x218ad)
 #7 0x00007fc6e6c6f77f __tls_get_addr (/lib/x86_64-linux-gnu/libc.so.6+0x2177f)
 #8 0x00007fc6e6c7d542 (/lib/x86_64-linux-gnu/libc.so.6+0x2f542)
 #9 0x000000000733e64c llvm::MCSymbolRefExpr::MCSymbolRefExpr(llvm::MCSymbol
const*, llvm::MCSymbolRefExpr::VariantKind, llvm::MCAsmInfo const*,
llvm::SMLoc)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/MC/MCExpr.cpp:183:1
#10 0x000000000733e6e7 llvm::MCSymbolRefExpr::create(llvm::MCSymbol const*,
llvm::MCSymbolRefExpr::VariantKind, llvm::MCContext&, llvm::SMLoc)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/MC/MCExpr.cpp:188:20
#11 0x0000000004b1511c llvm::MCSymbolRefExpr::create(llvm::MCSymbol const*,
llvm::MCContext&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/MC/MCExpr.h:330:5
#12 0x0000000007361fe2 llvm::MCStreamer::EmitSymbolValue(llvm::MCSymbol const*,
unsigned int, bool)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/MC/MCStreamer.cpp:172:19
#13 0x0000000008b5edcc void
emitRangeList<llvm::ArrayRef<llvm::DebugLocStream::Entry>,
emitLocList(llvm::DwarfDebug&, llvm::AsmPrinter*, llvm::DebugLocStream::List
const&)::$_14>(llvm::DwarfDebug&, llvm::AsmPrinter*, llvm::MCSymbol*,
llvm::ArrayRef<llvm::DebugLocStream::Entry> const&, llvm::DwarfCompileUnit
const&, unsigned int, unsigned int, unsigned int, unsigned int, llvm::StringRef
(*)(unsigned int), bool, emitLocList(llvm::DwarfDebug&, llvm::AsmPrinter*,
llvm::DebugLocStream::List const&)::$_14)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2396:7
#14 0x0000000008b5b229 emitLocList(llvm::DwarfDebug&, llvm::AsmPrinter*,
llvm::DebugLocStream::List const&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2467:1
#15 0x0000000008b5ae62 llvm::DwarfDebug::emitDebugLocImpl(llvm::MCSection*)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2479:25
#16 0x0000000008b548bb llvm::DwarfDebug::emitDebugLoc()
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:2492:1
#17 0x0000000008b54374 llvm::DwarfDebug::endModule()
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:0:5
#18 0x0000000008b1b0c7 llvm::AsmPrinter::doFinalization(llvm::Module&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:1479:3
#19 0x0000000006dcaf4a llvm::FPPassManager::doFinalization(llvm::Module&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/IR/LegacyPassManager.cpp:1535:16
#20 0x0000000006dcb867 (anonymous
namespace)::MPPassManager::runOnModule(llvm::Module&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/IR/LegacyPassManager.cpp:1611:16
#21 0x0000000006dcb0b8 llvm::legacy::PassManagerImpl::run(llvm::Module&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/IR/LegacyPassManager.cpp:1694:16
#22 0x0000000006dcbb31 llvm::legacy::PassManager::run(llvm::Module&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/IR/LegacyPassManager.cpp:1725:3
#23 0x0000000007bf168b (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::__2::unique_ptr<llvm::raw_pwrite_stream,
std::__2::default_delete<llvm::raw_pwrite_stream> >)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/CodeGen/BackendUtil.cpp:909:3
#24 0x0000000007beda8b clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::__2::unique_ptr<llvm::raw_pwrite_stream,
std::__2::default_delete<llvm::raw_pwrite_stream> >)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/CodeGen/BackendUtil.cpp:1537:5
#25 0x000000000877401c
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/CodeGen/CodeGenAction.cpp:312:7
#26 0x000000000a6fb18e clang::ParseAST(clang::Sema&, bool, bool)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/Parse/ParseAST.cpp:178:12
#27 0x00000000085d1802 clang::ASTFrontendAction::ExecuteAction()
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/Frontend/FrontendAction.cpp:1045:1
#28 0x00000000087708c0 clang::CodeGenAction::ExecuteAction()
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/CodeGen/CodeGenAction.cpp:1118:1
#29 0x00000000085d11d8 clang::FrontendAction::Execute()
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/Frontend/FrontendAction.cpp:940:7
#30 0x00000000084fe880
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/Frontend/CompilerInstance.cpp:965:23
#31 0x0000000008760430
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:290:8
#32 0x0000000004aea758 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/tools/driver/cc1_main.cpp:250:13
#33 0x0000000004add59f ExecuteCC1Tool(llvm::ArrayRef<char const*>,
llvm::StringRef)
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/tools/driver/driver.cpp:309:5
#34 0x0000000004adc936 main
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/tools/driver/driver.cpp:382:5
#35 0x00007fc6e6c7152b __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x2352b)
#36 0x0000000004adc08a _start (bin/clang+0x4adc08a)
Aborted
```

Reproducer attached

-- 
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/20191219/e72ec439/attachment-0001.html>


More information about the llvm-bugs mailing list