Closed zyz9740 closed 7 months ago
Source:
#include <string.h> int main() { memcpy(0, "", 2); return 0; }
Reproduce: /opt/cheerp/bin/clang -target cheerp-wasm random.c -o random_cheerp.js
/opt/cheerp/bin/clang -target cheerp-wasm random.c -o random_cheerp.js
Log:
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. Stack dump: 0. Program arguments: /opt/cheerp/bin/opt -march=cheerp -cheerp-linear-output=wasm -cheerp-lto -passes=function(CheerpLowerInvoke),function(simplifycfg),CallConstructors,GlobalDepsAnalyzer,TypeOptimizer,function(CheerpLowerSwitch),I64Lowering,function(ReplaceNopCastsAndByteSwaps),FreeAndDeleteRemoval,default<Os>,PartialExecuter,function(simplifycfg) -o /tmp/random-ecf230.bc /tmp/random-081082.bc #0 0x0000000001f9fe13 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/cheerp/bin/opt+0x1f9fe13) #1 0x0000000001f9e0e0 llvm::sys::RunSignalHandlers() (/opt/cheerp/bin/opt+0x1f9e0e0) #2 0x0000000001fa02bf (/opt/cheerp/bin/opt+0x1fa02bf) #3 0x00007f27564183c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x143c0) #4 0x00000000018b69ea llvm::Value::setNameImpl(llvm::Twine const&) (/opt/cheerp/bin/opt+0x18b69ea) #5 0x00000000018b6dd9 llvm::Value::setName(llvm::Twine const&) (/opt/cheerp/bin/opt+0x18b6dd9) #6 0x0000000000e85568 (/opt/cheerp/bin/opt+0xe85568) #7 0x0000000001bf98fb llvm::StructMemFuncLowering::recursiveCopy(llvm::IRBuilder<llvm::ConstantFolder, llvm::IRBuilderDefaultInserter>*, llvm::Value*, llvm::Value*, llvm::Type*, llvm::Type*, llvm::Type*, unsigned int, llvm::SmallVector<llvm::Value*, 8u>&) (/opt/cheerp/bin/opt+0x1bf98fb) #8 0x0000000001bf98ba llvm::StructMemFuncLowering::recursiveCopy(llvm::IRBuilder<llvm::ConstantFolder, llvm::IRBuilderDefaultInserter>*, llvm::Value*, llvm::Value*, llvm::Type*, llvm::Type*, llvm::Type*, unsigned int, llvm::SmallVector<llvm::Value*, 8u>&) (/opt/cheerp/bin/opt+0x1bf98ba) #9 0x0000000001bfa933 llvm::StructMemFuncLowering::createGenericLoop(llvm::IRBuilder<llvm::ConstantFolder, llvm::IRBuilderDefaultInserter>*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::BasicBlock*, llvm::Type*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::StructMemFuncLowering::MODE, unsigned int, bool) (/opt/cheerp/bin/opt+0x1bfa933) #10 0x0000000001bfb202 llvm::StructMemFuncLowering::createLoops(llvm::BasicBlock&, llvm::BasicBlock*, llvm::Type*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Type*, llvm::StructMemFuncLowering::MODE, unsigned int) (/opt/cheerp/bin/opt+0x1bfb202) #11 0x0000000001bfbc28 llvm::StructMemFuncLowering::runOnBlock(llvm::BasicBlock&, bool) (/opt/cheerp/bin/opt+0x1bfbc28) #12 0x0000000001bfbd20 llvm::StructMemFuncLowering::runOnFunction(llvm::Function&) (/opt/cheerp/bin/opt+0x1bfbd20) #13 0x0000000001bfbdb6 llvm::StructMemFuncLoweringPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/cheerp/bin/opt+0x1bfbdb6) #14 0x0000000000fed04d (/opt/cheerp/bin/opt+0xfed04d) #15 0x000000000189b377 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/cheerp/bin/opt+0x189b377) #16 0x0000000000fed41d (/opt/cheerp/bin/opt+0xfed41d) #17 0x00000000010864f1 llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/cheerp/bin/opt+0x10864f1) #18 0x000000000227627d (/opt/cheerp/bin/opt+0x227627d) #19 0x00000000010830c8 llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/cheerp/bin/opt+0x10830c8) #20 0x00000000019bebed (/opt/cheerp/bin/opt+0x19bebed) #21 0x0000000001084faf llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/opt/cheerp/bin/opt+0x1084faf) #22 0x00000000019bef7d (/opt/cheerp/bin/opt+0x19bef7d) #23 0x00000000010845e5 llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/cheerp/bin/opt+0x10845e5) #24 0x00000000019bedbd (/opt/cheerp/bin/opt+0x19bedbd) #25 0x000000000189a687 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/cheerp/bin/opt+0x189a687) #26 0x00000000019bb635 llvm::ModuleInlinerWrapperPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/cheerp/bin/opt+0x19bb635) #27 0x000000000225877d (/opt/cheerp/bin/opt+0x225877d) #28 0x000000000189a687 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/cheerp/bin/opt+0x189a687) #29 0x0000000000d2272a llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (/opt/cheerp/bin/opt+0xd2272a) #30 0x0000000000d31ad7 main (/opt/cheerp/bin/opt+0xd31ad7) #31 0x00007f2755ed80b3 __libc_start_main /build/glibc-sMfBJT/glibc-2.31/csu/../csu/libc-start.c:342:3 #32 0x0000000000d1b32e _start (/opt/cheerp/bin/opt+0xd1b32e) clang-16: error: unable to execute command: Segmentation fault (core dumped) clang-16: error: optimizer command failed due to signal (use -v to see invocation) Cheerp 1670679767-1~focal clang version 16.0.0 Target: cheerp-leaningtech-webbrowser-wasm Thread model: posix InstalledDir: /opt/cheerp/bin clang-16: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: clang-16: note: diagnostic msg: /tmp/random-c75a00.c clang-16: note: diagnostic msg: /tmp/random-c75a00.sh clang-16: note: diagnostic msg: ********************
Version:
Cheerp 1670679767-1~focal clang version 16.0.0 Target: cheerp-leaningtech-webbrowser-wasm Thread model: posix InstalledDir: /opt/cheerp/bin
Source:
Reproduce:
/opt/cheerp/bin/clang -target cheerp-wasm random.c -o random_cheerp.js
Log:
Version: