Skip to content

Assertion in OMPIRBuilder.cpp #140995

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
eugeneepshteyn opened this issue May 22, 2025 · 0 comments
Open

Assertion in OMPIRBuilder.cpp #140995

eugeneepshteyn opened this issue May 22, 2025 · 0 comments

Comments

@eugeneepshteyn
Copy link
Contributor

While this example doesn't make much sense, it shouldn't assert :)

implicit none
integer a(5)
!$omp parallel private(a)
  !$omp cancel parallel if (size(a) .eq. 5)
  !$omp barrier
!$omp end parallel
end

Assert:

$ flang -c -fopenmp test.f90 
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
flang: /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:1749: OpenMPIRBuilder::InsertPointOrErrorTy llvm::OpenMPIRBuilder::createParallel(const LocationDescription &, InsertPointTy, BodyGenCallbackTy, PrivatizeCallbackTy, FinalizeCallbackTy, Value *, Value *, omp::ProcBindKind, bool): Assertion `Outputs.empty() && "OpenMP outlining should not produce live-out values!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/eepshteyn/compilers/flang-upstream/bin/flang -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -fopenmp -resource-dir /home/eepshteyn/compilers/flang-upstream/lib/clang/21 -mframe-pointer=all -o test.o -x f95 test.f90
 #0 0x00005a9c0178fc69 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:11
 #1 0x00005a9c017900fb PrintStackTraceSignalHandler(void*) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:888:1
 #2 0x00005a9c0178e57f llvm::sys::RunSignalHandlers() /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Signals.cpp:105:5
 #3 0x00005a9c01790689 SignalHandler(int, siginfo_t*, void*) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:418:7
 #4 0x000070d41d045330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
 #5 0x000070d41d09eb2c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #6 0x000070d41d09eb2c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #7 0x000070d41d09eb2c pthread_kill ./nptl/pthread_kill.c:89:10
 #8 0x000070d41d04527e raise ./signal/../sysdeps/posix/raise.c:27:6
 #9 0x000070d41d0288ff abort ./stdlib/abort.c:81:7
#10 0x000070d41d02881b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x000070d41d03b517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
#12 0x00005a9c0a6fdb8c llvm::OpenMPIRBuilder::createParallel(llvm::OpenMPIRBuilder::LocationDescription const&, llvm::IRBuilderBase::InsertPoint, llvm::function_ref<llvm::Error (llvm::IRBuilderBase::InsertPoint, llvm::IRBuilderBase::InsertPoint)>, llvm::function_ref<llvm::Expected<llvm::IRBuilderBase::InsertPoint> (llvm::IRBuilderBase::InsertPoint, llvm::IRBuilderBase::InsertPoint, llvm::Value&, llvm::Value&, llvm::Value*&)>, std::__1::function<llvm::Error (llvm::IRBuilderBase::InsertPoint)>, llvm::Value*, llvm::Value*, llvm::omp::ProcBindKind, bool) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:1751:3
#13 0x00005a9c06292153 convertOmpParallel(mlir::omp::ParallelOp, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:2803:7
#14 0x00005a9c06291cbc convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3::operator()(mlir::omp::ParallelOp) const /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5752:20
#15 0x00005a9c06291c6e llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>& llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>::Case<mlir::omp::ParallelOp, convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3>(convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3&&) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:102:22
#16 0x00005a9c06290e25 llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>& llvm::detail::TypeSwitchBase<llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>, mlir::Operation*>::Case<convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3>(convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3&&) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:60:5
#17 0x00005a9c0627a30c convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5751:12
#18 0x00005a9c06279bb7 (anonymous namespace)::OpenMPDialectLLVMIRTranslationInterface::convertOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) const /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6089:10
#19 0x00005a9c08eb6309 mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:987:23
#20 0x00005a9c08eb6aef mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1037:16
#21 0x00005a9c08eba313 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1584:16
#22 0x00005a9c08ebc19b mlir::LLVM::ModuleTranslation::convertFunctions() /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1849:16
#23 0x00005a9c08ebe254 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2298:25
#24 0x00005a9c0180367e Fortran::frontend::CodeGenAction::generateLLVMIR() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendActions.cpp:780:16
#25 0x00005a9c01804fad Fortran::frontend::CodeGenAction::executeAction() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendActions.cpp:1268:44
#26 0x00005a9c017f2124 Fortran::frontend::FrontendAction::execute() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendAction.cpp:124:10
#27 0x00005a9c017ba102 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/CompilerInstance.cpp:190:23
#28 0x00005a9c017f90ac Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:222:8
#29 0x00005a9c00e0e6ca fc1_main(llvm::ArrayRef<char const*>, char const*) /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/fc1_main.cpp:91:11
#30 0x00005a9c00e08ec1 executeFC1Tool(llvm::SmallVectorImpl<char const*>&) /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/driver.cpp:66:5
#31 0x00005a9c00e08756 main /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/driver.cpp:110:7
#32 0x000070d41d02a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#33 0x000070d41d02a28b call_init ./csu/../csu/libc-start.c:128:20
#34 0x000070d41d02a28b __libc_start_main ./csu/../csu/libc-start.c:347:5
#35 0x00005a9c00e08425 _start (/home/eepshteyn/compilers/flang-upstream/bin/flang+0x9356425)
flang-21: error: unable to execute command: Aborted (core dumped)
flang-21: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 21.0.0git (https://github.com/eugeneepshteyn/llvm-project.git 0a42db682aa01a66eb99d08063fbc6e6124792f7)
Target: x86_64-unknown-linux-gnu
Thread model: posix
...
Build config: +unoptimized, +assertions
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant