[llvm-bugs] [Bug 44691] New: [WebAssembly] [DWARF] Crash on dlmalloc

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jan 27 17:50:57 PST 2020


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

            Bug ID: 44691
           Summary: [WebAssembly] [DWARF] Crash on dlmalloc
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: WebAssembly
          Assignee: unassignedbugs at nondot.org
          Reporter: alonzakai at gmail.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 23068
  --> https://bugs.llvm.org/attachment.cgi?id=23068&action=edit
testcase (preprocessed dlmalloc)

clang -target wasm32-unknown-emscripten a.c -O2 -g

crashes in DWARF code:

clang:
/b/s/w/ir/cache/builder/emscripten-releases/llvm-project/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h:108:
unsigned int llvm::WebAssemblyFunctionInfo::getFrameBaseLocal() const:
Assertion `FrameBaseLocal != -1U && "Frame base local hasn't been set"' failed.
Stack dump:
0.      Program arguments: sdk/upstream/bin/clang -target
wasm32-unknown-emscripten a.c -O2 -g 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'a.c'.
4.      Running pass 'WebAssembly Assembly Printer' on function '@dlmallinfo'
 #0 0x00007fd802245314 PrintStackTraceSignalHandler(void*)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x735314)
 #1 0x00007fd802242e8e llvm::sys::RunSignalHandlers()
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x732e8e)
 #2 0x00007fd802244484 llvm::sys::CleanupOnSignal(unsigned long)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x734484)
 #3 0x00007fd80217de0e (anonymous
namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x66de0e)
 #4 0x00007fd80217df6d (sdk/upstream/bin/../lib/libLLVM-11git.so+0x66df6d)
 #5 0x00007fd8019033a0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x123a0)
 #6 0x00007fd7fdccccfb raise
/build/glibc-XAwaOT/glibc-2.28/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #7 0x00007fd7fdcb78ad abort /build/glibc-XAwaOT/glibc-2.28/stdlib/abort.c:81:7
 #8 0x00007fd7fdcb777f get_sysdep_segment_value
/build/glibc-XAwaOT/glibc-2.28/intl/loadmsgcat.c:509:8
 #9 0x00007fd7fdcb777f _nl_load_domain
/build/glibc-XAwaOT/glibc-2.28/intl/loadmsgcat.c:970:34
#10 0x00007fd7fdcc5542 (/lib/x86_64-linux-gnu/libc.so.6+0x2f542)
#11 0x00007fd803d6ab0b (sdk/upstream/bin/../lib/libLLVM-11git.so+0x225ab0b)
#12 0x00007fd802aa631d
llvm::DwarfCompileUnit::updateSubprogramScopeDIE(llvm::DISubprogram const*)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0xf9631d)
#13 0x00007fd802aa995c
llvm::DwarfCompileUnit::constructSubprogramScopeDIE(llvm::DISubprogram const*,
llvm::LexicalScope*) (sdk/upstream/bin/../lib/libLLVM-11git.so+0xf9995c)
#14 0x00007fd802abc812 llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction
const*) (sdk/upstream/bin/../lib/libLLVM-11git.so+0xfac812)
#15 0x00007fd802a9bc60
llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0xf8bc60)
#16 0x00007fd802a846eb llvm::AsmPrinter::EmitFunctionBody()
(sdk/upstream/bin/../lib/libLLVM-11git.so+0xf746eb)
#17 0x00007fd803d43134
llvm::WebAssemblyAsmPrinter::runOnMachineFunction(llvm::MachineFunction&)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x2233134)
#18 0x00007fd8025bfe9e
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0xaafe9e)
#19 0x00007fd8023a0416 llvm::FPPassManager::runOnFunction(llvm::Function&)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x890416)
#20 0x00007fd8023a0758 llvm::FPPassManager::runOnModule(llvm::Module&)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x890758)
#21 0x00007fd8023a0ea0 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x890ea0)
#22 0x00007fd7ffa5e941 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x1689941)
#23 0x00007fd7ffd52fbc
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x197dfbc)
#24 0x00007fd7feb92ae3 clang::ParseAST(clang::Sema&, bool, bool)
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x7bdae3)
#25 0x00007fd80059ee30 clang::FrontendAction::Execute()
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x21c9e30)
#26 0x00007fd80053c2e3
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x21672e3)
#27 0x00007fd800612ce0
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x223dce0)
#28 0x0000000000410a81 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (sdk/upstream/bin/clang+0x410a81)
#29 0x000000000040efbc ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
(sdk/upstream/bin/clang+0x40efbc)
#30 0x00007fd8001e58c2 void llvm::function_ref<void
()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const::$_1>(long)
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x1e108c2)
#31 0x00007fd80217dd5a
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
(sdk/upstream/bin/../lib/libLLVM-11git.so+0x66dd5a)
#32 0x00007fd8001e4e87
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x1e0fe87)
#33 0x00007fd8001b2eab
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&,
clang::driver::Command const*&) const
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x1dddeab)
#34 0x00007fd8001b32ca
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x1dde2ca)
#35 0x00007fd8001cbf38
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&)
(sdk/upstream/bin/../lib/libclang-cpp.so.11git+0x1df6f38)
#36 0x000000000040e779 main (sdk/upstream/bin/clang+0x40e779)
#37 0x00007fd7fdcb952b __libc_start_main
/build/glibc-XAwaOT/glibc-2.28/csu/../csu/libc-start.c:342:3
#38 0x000000000040bca9 _start (sdk/upstream/bin/clang+0x40bca9)

-- 
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/20200128/4975de89/attachment.html>


More information about the llvm-bugs mailing list