Skip to content

eraseFictiousPHIs crash #2700

@minansys

Description

@minansys

Enzyme crashed for the cuda code with v.0.0245, .0.0232, but passed with v0.0206

clang++ -std=c++17 -O3 -DNDEBUG -fPIC \
  --cuda-path=<cuda_root> --cuda-gpu-arch=sm_80 \
  -Wno-unknown-cuda-version -Wno-deprecated-builtins -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-c++20-extensions \
  -w -Wno-missing-template-arg-list-after-template-kw \
  -fplugin="<enzyme>/libClangEnzyme.so" \
  -mllvm -enzyme-loose-types=1 -mllvm -enzyme-detect-readthrow=0 -mllvm -enzyme-coalese=1 -mllvm -enzyme-noalias=1 -mllvm -enzyme-phi-restructure=1 \
  -x cuda -c NonAdiabatic.cxx \
  -o NonAdiabatic.o

with crash info

3.      Running pass "EnzymeNewPM" on module "NonAdiabatic.cxx"
 #0 0x00007fcd747cb86b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libLLVM.so.19.1+0x7f886b)
 #1 0x00007fcd747c8f9b SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fcd7cc77d20 __restore_rt (/lib64/libpthread.so.0+0x12d20)
 #3 0x00007fcd736ab52f raise (/lib64/libc.so.6+0x4e52f)
 #4 0x00007fcd7367ee65 abort (/lib64/libc.so.6+0x21e65)
 #5 0x00007fcd7367ed39 _nl_load_domain.cold.0 (/lib64/libc.so.6+0x21d39)
 #6 0x00007fcd736a3e86 (/lib64/libc.so.6+0x46e86)
 #7 0x00007fcd721b367e GradientUtils::eraseFictiousPHIs() (/home/mixu/software/Enzyme/enzyme/build-1917/Enzyme/libClangEnzyme.so+0x4dc67e)
 #8 0x00007fcd720ec8c1 EnzymeLogic::CreatePrimalAndGradient(RequestContext, ReverseCacheKey const&&, TypeAnalysis&, AugmentedReturn const*, bool) (/home/mixu/software/Enzyme/enzyme/build-1917/Enzyme/libClangEnzyme.so+0x4158c1)
 #9 0x00007fcd7213036b AdjointGenerator::recursivelyHandleSubfunction(llvm::CallInst&, llvm::Function*, bool, std::vector<bool, std::allocator<bool>> const&, bool, DIFFE_TYPE, bool) (/home/mixu/software/Enzyme/enzyme/build-1917/Enzyme/libClangEnzyme.so+0x45936b)
#10 0x00007fcd72134f64 AdjointGenerator::visitCallInst(llvm::CallInst&) (/home/mixu/software/Enzyme/enzyme/build-1917/Enzyme/libClangEnzyme.so+0x45df64)
#11 0x00007fcd720ec823 EnzymeLogic::CreatePrimalAndGradient(RequestContext, ReverseCacheKey const&&, TypeAnalysis&, AugmentedReturn const*, bool) (/home/mixu/software/Enzyme/enzyme/build-1917/Enzyme/libClangEnzyme.so+0x415823)
#12 0x00007fcd72093270 (anonymous namespace)::EnzymeBase::HandleAutoDiff(llvm::Instruction*, unsigned int, llvm::Value*, llvm::Type*, llvm::SmallVectorImpl<llvm::Value*>&, std::map<int, llvm::Type*, std::less<int>, std::allocator<std::pair<int const, llvm::Type*>>> const&, std::vector<DIFFE_TYPE, std::allocator<DIFFE_TYPE>> const&, llvm::Function*, DerivativeMode, (anonymous namespace)::EnzymeBase::Options&, bool, llvm::SmallVectorImpl<llvm::CallInst*>&) Enzyme.cpp:0:0
#13 0x00007fcd72095981 (anonymous namespace)::EnzymeBase::HandleAutoDiffArguments(llvm::CallInst*, DerivativeMode, bool, llvm::SmallVectorImpl<llvm::CallInst*>&) Enzyme.cpp:0:0
#14 0x00007fcd7209f4b1 (anonymous namespace)::EnzymeBase::lowerEnzymeCalls(llvm::Function&, std::set<llvm::Function*, std::less<llvm::Function*>, std::allocator<llvm::Function*>>&) Enzyme.cpp:0:0
#15 0x00007fcd720a195a (anonymous namespace)::EnzymeBase::run(llvm::Module&) Enzyme.cpp:0:0
#16 0x00007fcd720b2a90 llvm::detail::PassModel<llvm::Module, EnzymeNewPM, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/mixu/software/Enzyme/enzyme/build-1917/Enzyme/libClangEnzyme.so+0x3dba90)
#17 0x00007fcd749baa73 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libLLVM.so.19.1+0x9e7a73)
#18 0x00007fcd7a7f785a (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) BackendUtil.cpp:0:0
#19 0x00007fcd7a7fa954 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libclang-cpp.so.19.1+0x20b6954)
#20 0x00007fcd7acb28f8 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libclang-cpp.so.19.1+0x256e8f8)
#21 0x00007fcd7b723068 clang::MultiplexConsumer::HandleTranslationUnit(clang::ASTContext&) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libclang-cpp.so.19.1+0x2fdf068)
#22 0x00007fcd792c437c clang::ParseAST(clang::Sema&, bool, bool) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libclang-cpp.so.19.1+0xb8037c)
#23 0x00007fcd7b6e45d1 clang::FrontendAction::Execute() (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libclang-cpp.so.19.1+0x2fa05d1)
#24 0x00007fcd7b6555eb clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libclang-cpp.so.19.1+0x2f115eb)
#25 0x00007fcd7b7734f7 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/../lib/libclang-cpp.so.19.1+0x302f4f7)
#26 0x0000000000410e0a cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/clang+++0x410e0a)
#27 0x000000000040b35a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#28 0x000000000040d69a clang_main(int, char**, llvm::ToolContext const&) (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/clang+++0x40d69a)
#29 0x000000000040ab13 main (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/clang+++0x40ab13)
#30 0x00007fcd736977e5 __libc_start_main (/lib64/libc.so.6+0x3a7e5)
#31 0x000000000040ab5e _start (/home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin/clang+++0x40ab5e)
clang++: error: unable to execute command: Aborted (core dumped)
clang++: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.1.7 (https://github.com/llvm/llvm-project.git cd708029e0b2869e80abe31ddb175f7c35361f90)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /home/mixu/dev/vNNN/Cromwell/Dependencies/clang/linx64/bin
clang++: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang++: note: diagnostic msg: /tmp/PdfPropertiesBoundaryNonAdiabatic-e7b88d.cu
clang++: note: diagnostic msg: /tmp/PdfPropertiesBoundaryNonAdiabatic-sm_80-8d82d5.cu
clang++: note: diagnostic msg: /tmp/PdfPropertiesBoundaryNonAdiabatic-e7b88d.sh
clang++: note: diagnostic msg:

********************

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions