Skip to content

[flang] fatal internal error: CHECK(localSymbol->has<UseDetails>()) #168099

@mathomp4

Description

@mathomp4

This is sort of a follow-on to #116388. Once that was fixed in main (see #162205 by @valerydmit) we encountered another failure. This one is a single file failure as described below.

This code passes with nagfor, gfortran-15, ifx and lfortran (godbolt link: https://godbolt.org/z/551deeqd9)

> flang pair.F90 fatal internal error: CHECK(localSymbol->has<UseDetails>()) failed at /discover/nobackup/projects/gmao/SIteam/build-llvm-flang/tmp/llvm-src/llvm-project-main/flang/lib/Semantics/resolve-names.cpp(3942) PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug. Stack dump: 0.	Program arguments: /gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/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 -resource-dir /gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/lib/clang/22 -mframe-pointer=all -o /gpfsm/dnb34/tdirs/login/discover36.93889.mathomp4/pair-be2f17.o -x f95 pair.F90 #0 0x0000000001bb608b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x1bb608b) #1 0x0000000001bb2f4f SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0 #2 0x000015420a7ea910 __restore_rt (/lib64/libpthread.so.0+0x16910) #3 0x000015420a0d0d2b raise (/lib64/libc.so.6+0x4ad2b) #4 0x000015420a0d23e5 abort (/lib64/libc.so.6+0x4c3e5) #5 0x0000000003bd27a9 (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x3bd27a9) #6 0x0000000002569abf Fortran::semantics::ModuleVisitor::DoAddUse(Fortran::parser::CharBlock, Fortran::parser::CharBlock, Fortran::semantics::Symbol&, Fortran::semantics::Symbol const&) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x2569abf) #7 0x000000000256aa63 Fortran::semantics::ModuleVisitor::Post(Fortran::parser::UseStmt const&) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x256aa63) #8 0x00000000025b4002 Fortran::semantics::ResolveNamesVisitor::Pre(Fortran::parser::SpecificationPart const&) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x25b4002) #9 0x00000000025b4ba2 std::enable_if<TupleTrait<Fortran::parser::SpecificationPart>, void>::type Fortran::parser::detail::ParseTreeVisitorLookupScope::Walk<Fortran::parser::SpecificationPart, Fortran::semantics::ResolveNamesVisitor>(Fortran::parser::SpecificationPart const&, Fortran::semantics::ResolveNamesVisitor&) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x25b4ba2) #10 0x00000000025da78d Fortran::semantics::ResolveNamesVisitor::ResolveSpecificationParts(Fortran::semantics::ProgramTree&) (.part.0) resolve-names.cpp:0:0 #11 0x00000000025db903 Fortran::semantics::ResolveNamesVisitor::Pre(Fortran::parser::ProgramUnit const&) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x25db903) #12 0x00000000025dd094 Fortran::semantics::ResolveNames(Fortran::semantics::SemanticsContext&, Fortran::parser::Program const&, Fortran::semantics::Scope&) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x25dd094) #13 0x000000000266525e Fortran::semantics::Semantics::Perform() (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x266525e) #14 0x0000000001bf969e Fortran::frontend::FrontendAction::runSemanticChecks() (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x1bf969e) #15 0x0000000001eb7fca Fortran::frontend::CodeGenAction::beginSourceFileAction() (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x1eb7fca) #16 0x0000000001bf7a6d Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&, Fortran::frontend::FrontendInputFile const&) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x1bf7a6d) #17 0x0000000001be4ebc Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x1be4ebc) #18 0x0000000001c017bc Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x1c017bc) #19 0x000000000161c014 fc1_main(llvm::ArrayRef<char const*>, char const*) (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x161c014) #20 0x0000000001505919 main (/gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin/flang+0x1505919) #21 0x000015420a0bb24d __libc_start_main (/lib64/libc.so.6+0x3524d) #22 0x000000000161aaaa _start /home/abuild/rpmbuild/BUILD/glibc-2.31/csu/../sysdeps/x86_64/start.S:122:0 flang-22: error: unable to execute command: Aborted flang-22: error: flang frontend command failed due to signal (use -v to see invocation) flang version 22.0.0git (git@github.com:GEOS-ESM/build-llvm-flang.git db43ed9aa5de6bdb57428340514eb95d07fb28ab) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /gpfsm/dnb05/projects/p50/comp/SLES-15/llvm-flang/2025-10-14/bin flang-22: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: flang-22: note: diagnostic msg: /gpfsm/dnb34/tdirs/login/discover36.93889.mathomp4/pair-8726cf flang-22: note: diagnostic msg: /gpfsm/dnb34/tdirs/login/discover36.93889.mathomp4/pair-8726cf.sh flang-22: note: diagnostic msg: ******************** 

As directed, I'm attaching the files that can reproduce this. They are in a tarfile because, well, I can't seem to attach F90 files.

There are three files:

Flang-Crash-2025Nov14/ ├── FromFlang │   ├── pair-8726cf │   └── pair-8726cf.sh └── pair.F90 2 directories, 3 files 

The pair.F90 is our original repro, and the files in FromFlang are from

Flang-Crash-2025Nov14.tar.gz

Metadata

Metadata

Assignees

Labels

crashPrefer [crash-on-valid] or [crash-on-invalid]flang:frontend

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions