Issue |
146712
|
Summary |
[flang] Assertion failed: detail::isPresent(Val) && "dyn_cast on a non-existent value"
|
Labels |
flang
|
Assignees |
|
Reporter |
augusew1
|
I have run into the assertion in the title while compiling an incredibly large fortran project.
I am using a custom build LLVM 20.1.7 toolchain on Windows compiled by `clang-cl.exe` 19.1.5 with the following options:
```
cmake `
-G "Ninja" `
-Wno-dev `
-Wno-deprecated `
-DCMAKE_C_COMPILER="clang-cl.exe" `
-DCMAKE_CXX_COMPILER="clang-cl.exe" `
-DCMAKE_C_LINK_EXECUTABLE="lld-link.exe" `
-DCMAKE_CXX_LINK_EXECUTABLE="lld-link.exe" `
-DCMAKE_BUILD_TYPE=Release `
-DCMAKE_INSTALL_PREFIX:PATH="$($InstallDir)" `
-DLLVM_ENABLE_ASSERTIONS=ON `
-DLLVM_TARGETS_TO_BUILD=host `
-DLLVM_ENABLE_PROJECTS="clang;mlir;lld;lldb;openmp;flang" `
-DLLVM_ENABLE_RUNTIMES="compiler-rt" `
-B "$($BuildDir)" `
-DLLVM_LIT_ARGS=-svj4 `
-S ".\llvm-src\llvm"
```
The full error is below
<details>
<summary>Error Log</summary>
```
Assertion failed: detail::isPresent(Val) && "dyn_cast on a non-existent value", file C:\Users\augusew1\Documents\git\llvm\llvm-project-llvmorg-20.1.7\llvm\include\llvm/Support/Casting.h, line 662
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\bin\\flang -fc1 -triple x86_64-pc-windows-msvc19.44.35209 -emit-obj -I otis4src\\libs/bcslib\\libbcslib.a.p -I otis4src\\libs/blas\\libblas.a.p -I otis4src\\libs/cdheat\\libcdheat.a.p -I otis4src\\libs/gram07\\libgram.a.p -I otis4src\\libs/jhuapl/borders\\libjhuapl_borders.a.p -I otis4src\\libs/jhuapl/massprops\\libjhuapl_massprops.a.p -I otis4src\\libs/jpl\\libjpl.a.p -I otis4src\\libs/linpack\\liblinpack.a.p -I otis4src\\libs/miniver\\libminiver.a.p -I otis4src\\libs/novas\\libnovas.a.p -I otis4src\\libs/slsqp\\libslsqp.a.p -I otis4src\\libs/smath\\libsmath.a.p -I otis4src\\spice/toolkit/src/spicelib\\libspicelib.a.p -I otis4src\\libs/snopt7\\libsnopt.a.p -I otis4src\\src\\otis4.exe.p -I otis4src\\src -I ..\\otis4src\\src -D NDEBUG -D _FILE_OFFSET_BITS=64 -ffixed-line-length=132 -mrelocation-model pic -pic-level 2 -target-cpu x86-64 --dependent-lib=clang_rt.builtins-x86_64.lib -D_MT --dependent-lib=libcmt --dependent-lib=FortranRuntime.static.lib --dependent-lib=FortranDecimal.static.lib -D_MSC_VER=1944 -D_MSC_FULL_VER=194435209 -D_WIN32 -D_M_X64=100 -fversion-loops-for-stride -module-dir otis4src\\src\\otis4.exe.p -resource-dir C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\lib\\clang\\20 -mframe-pointer=none -O3 -o otis4src/src/otis4.exe.p/phmap.f.obj -x f95-cpp-input ../otis4src/src/phmap.f
Exception Code: 0xC000001D
#0 0x00007ff61cc569a6 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x5469a6)
#1 0x00007ff9a6cae6d5 (C:\WINDOWS\System32\ucrtbase.dll+0x7e6d5)
#2 0x00007ff9a6caf6e1 (C:\WINDOWS\System32\ucrtbase.dll+0x7f6e1)
#3 0x00007ff9a6cb108e (C:\WINDOWS\System32\ucrtbase.dll+0x8108e)
#4 0x00007ff9a6cb12d1 (C:\WINDOWS\System32\ucrtbase.dll+0x812d1)
#5 0x00007ff620d404bf (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x46304bf)
#6 0x00007ff61fdf6ccb (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x36e6ccb)
#7 0x00007ff61fdf6325 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x36e6325)
#8 0x00007ff61fdf5fdb (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x36e5fdb)
#9 0x00007ff620d16a74 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4606a74)
#10 0x00007ff6212c0364 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4bb0364)
#11 0x00007ff6212bd289 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4bad289)
#12 0x00007ff620d17b7b (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4607b7b)
#13 0x00007ff620d16ba1 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4606ba1)
#14 0x00007ff620d18172 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4608172)
#15 0x00007ff620d1cdde (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x460cdde)
#16 0x00007ff61fdf221b (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x36e221b)
#17 0x00007ff61e293933 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x1b83933)
#18 0x00007ff61e293f3b (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x1b83f3b)
#19 0x00007ff61e2966f5 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x1b866f5)
#20 0x00007ff61cd8339a (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x67339a)
#21 0x00007ff61cd87554 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x677554)
#22 0x00007ff61ccee12d (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x5de12d)
#23 0x00007ff61c77fdd2 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x6fdd2)
#24 0x00007ff61c79751a (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x8751a)
#25 0x00007ff61c713f62 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x3f62)
#26 0x00007ff61c712230 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x2230)
#27 0x00007ff621440410 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4d30410)
#28 0x00007ff9a8a3259d (C:\WINDOWS\System32\KERNEL32.DLL+0x1259d)
#29 0x00007ff9a970af78 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x5af78)
flang: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 20.1.7
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Users\augusew1\Documents\git\llvm\llvm-install\bin
Build config: +assertions
flang: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang: note: diagnostic msg: C:\Users\augusew1\AppData\Local\Temp\phmap-345c06
flang: note: diagnostic msg: C:\Users\augusew1\AppData\Local\Temp\phmap-345c06.sh
flang: note: diagnostic msg:
********************
```
</details>
And here is *only one of* the requested log files:
<details>
<summary>phmap.sh</summary>
```
# Crash reproducer for clang version 20.1.7
# Driver args: "-I" "otis4src\\libs/bcslib\\libbcslib.a.p" "-I" "otis4src\\libs/blas\\libblas.a.p" "-I" "otis4src\\libs/cdheat\\libcdheat.a.p" "-I" "otis4src\\libs/gram07\\libgram.a.p" "-I" "otis4src\\libs/jhuapl/borders\\libjhuapl_borders.a.p" "-I" "otis4src\\libs/jhuapl/massprops\\libjhuapl_massprops.a.p" "-I" "otis4src\\libs/jpl\\libjpl.a.p" "-I" "otis4src\\libs/linpack\\liblinpack.a.p" "-I" "otis4src\\libs/miniver\\libminiver.a.p" "-I" "otis4src\\libs/novas\\libnovas.a.p" "-I" "otis4src\\libs/slsqp\\libslsqp.a.p" "-I" "otis4src\\libs/smath\\libsmath.a.p" "-I" "otis4src\\spice/toolkit/src/spicelib\\libspicelib.a.p" "-I" "otis4src\\libs/snopt7\\libsnopt.a.p" "-I" "otis4src\\src\\otis4.exe.p" "-I" "otis4src\\src" "-I" "..\\otis4src\\src" "-D" "NDEBUG" "-D" "_FILE_OFFSET_BITS=64" "-O3" "-ffixed-line-length-132" "-module-dir" "otis4src\\src\\otis4.exe.p" "-o" "otis4src/src/otis4.exe.p/phmap.f.obj" "-c" "../otis4src/src/phmap.f"
# Original command: "C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\bin\\flang" "-fc1" "-triple" "x86_64-pc-windows-msvc19.44.35209" "-emit-obj" "-I" "otis4src\\libs/bcslib\\libbcslib.a.p" "-I" "otis4src\\libs/blas\\libblas.a.p" "-I" "otis4src\\libs/cdheat\\libcdheat.a.p" "-I" "otis4src\\libs/gram07\\libgram.a.p" "-I" "otis4src\\libs/jhuapl/borders\\libjhuapl_borders.a.p" "-I" "otis4src\\libs/jhuapl/massprops\\libjhuapl_massprops.a.p" "-I" "otis4src\\libs/jpl\\libjpl.a.p" "-I" "otis4src\\libs/linpack\\liblinpack.a.p" "-I" "otis4src\\libs/miniver\\libminiver.a.p" "-I" "otis4src\\libs/novas\\libnovas.a.p" "-I" "otis4src\\libs/slsqp\\libslsqp.a.p" "-I" "otis4src\\libs/smath\\libsmath.a.p" "-I" "otis4src\\spice/toolkit/src/spicelib\\libspicelib.a.p" "-I" "otis4src\\libs/snopt7\\libsnopt.a.p" "-I" "otis4src\\src\\otis4.exe.p" "-I" "otis4src\\src" "-I" "..\\otis4src\\src" "-D" "NDEBUG" "-D" "_FILE_OFFSET_BITS=64" "-ffixed-line-length=132" "-mrelocation-model" "pic" "-pic-level" "2" "-target-cpu" "x86-64" "--dependent-lib=clang_rt.builtins-x86_64.lib" "-D_MT" "--dependent-lib=libcmt" "--dependent-lib=FortranRuntime.static.lib" "--dependent-lib=FortranDecimal.static.lib" "-D_MSC_VER=1944" "-D_MSC_FULL_VER=194435209" "-D_WIN32" "-D_M_X64=100" "-fversion-loops-for-stride" "-module-dir" "otis4src\\src\\otis4.exe.p" "-resource-dir" "C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\lib\\clang\\20" "-mframe-pointer=none" "-O3" "-o" "otis4src/src/otis4.exe.p/phmap.f.obj" "-x" "f95-cpp-input" "../otis4src/src/phmap.f"
"C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\bin\\flang" "-fc1" "-triple" "x86_64-pc-windows-msvc19.44.35209" "-emit-obj" "-D" "NDEBUG" "-D" "_FILE_OFFSET_BITS=64" "-ffixed-line-length=132" "-mrelocation-model" "pic" "-pic-level" "2" "-target-cpu" "x86-64" "--dependent-lib=clang_rt.builtins-x86_64.lib" "-D_MT" "--dependent-lib=libcmt" "--dependent-lib=FortranRuntime.static.lib" "--dependent-lib=FortranDecimal.static.lib" "-D_MSC_VER=1944" "-D_MSC_FULL_VER=194435209" "-D_WIN32" "-D_M_X64=100" "-fversion-loops-for-stride" "-module-dir" "otis4src\\src\\otis4.exe.p" "-mframe-pointer=none" "-O3" "-x" "f95-cpp-input" "phmap-345c06"
```
</details>
**Unfortunately, I cannot share the source code due to US law**.
Some information about the code:
- It is a fortran 77 code base
- It makes *heavy* use of NAMELIST, COMMON, BLOCK DATA, and EQUIVALENCE which I suspect is related
- It does successfully compile with ifx and gfortran
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs