Issue |
128606
|
Summary |
[flang][debug] Unexpected Assertion `!attr.getIsRecSelf() && "unbound DI recursive self reference"' failure
|
Labels |
flang
|
Assignees |
|
Reporter |
akuhlens
|
This seems to be another case of #122024. The example code is a lot more complicated and I wasn't able to reduce it to a single file. I can delete a fair amount of code, but deleting the [switch case for `type(TestCase)`](https://github.com/Goddard-Fortran-Ecosystem/pFUnit/blob/cbe21b95eff70804acfd7f5a9b68dec291781c4a/src/funit/core/TestSuite.F90#L164). Allows this file to compile and then gets stuck on the next file with the same error.
```
$ git clone g...@github.com:Goddard-Fortran-Ecosystem/pFUnit.git
$ cd pFUnit
$ mkdir build
$ cd build
$ flang --version
flang version 21.0.0git (https://github.com/llvm/llvm-project f6a30021249c3b6aac20f108559915e74943540f)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir:
Build config: +assertions
$ export FC=flang
$ cmake -DCMAKE_INSTALL_PREFIX=../install -DENABLE_TESTS=ON -DSKIP_MPI=YES ..
$ make test
...
[ 14%] Building Fortran object src/funit/core/CMakeFiles/funit-core.dir/TestSuite.F90.o
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
flang: /proj/build/llvm/Linux_x86_64/mlir/lib/Target/LLVMIR/DebugTranslation.cpp:276: llvm::DINode* mlir::LLVM::detail::DebugTranslation::translateRecursive(mlir::LLVM::DIRecursiveTypeAttrInterface): Assertion `!attr.getIsRecSelf() && "unbound DI recursive self reference"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -D Robust -I /home/akuhlenschmi/tmp/pFUnit/build/src/funit/mod -I /home/akuhlenschmi/tmp/pFUnit/include -I /home/akuhlenschmi/tmp/pFUnit/build/src/funit/core -I /local/home/akuhlenschmi/tmp/install/GFTL-1.15/include/v2 -I /local/home/akuhlenschmi/tmp/install/GFTL_SHARED-1.10/include/v2 -I /local/home/akuhlenschmi/tmp/install/FARGPARSE-1.9/include -cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -module-dir ../mod -debug-info-kind=standalone -fopenmp -resource-dir /proj/nv/llvm/Linux_x86_64/llvm-4477/lib/clang/21 -mframe-pointer=all -O0 -o CMakeFiles/funit-core.dir/TestSuite.F90.o -x f95-cpp-input /home/akuhlenschmi/tmp/pFUnit/src/funit/core/TestSuite.F90
#0 0x0000556097d9d13b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x450713b)
#1 0x0000556097d9a954 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#2 0x00007ff69983e520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x00007ff6998929fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#4 0x00007ff6998929fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#5 0x00007ff6998929fc pthread_kill ./nptl/pthread_kill.c:89:10
#6 0x00007ff69983e476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#7 0x00007ff6998247f3 abort ./stdlib/abort.c:81:7
#8 0x00007ff69982471b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#9 0x00007ff699835e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#10 0x000055609bb56359 mlir::LLVM::detail::DebugTranslation::translateRecursive(mlir::LLVM::DIRecursiveTypeAttrInterface) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x82c0359)
#11 0x000055609bb565ed mlir::LLVM::detail::DebugTranslation::translate(mlir::LLVM::DINodeAttr) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x82c05ed)
#12 0x000055609bb579c4 mlir::LLVM::detail::DebugTranslation::translateImpl(mlir::LLVM::DIDerivedTypeAttr) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x82c19c4)
#13 0x000055609bb569bb mlir::LLVM::detail::DebugTranslation::translate(mlir::LLVM::DINodeAttr) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x82c09bb)
#14 0x000055609bb579c4 mlir::LLVM::detail::DebugTranslation::translateImpl(mlir::LLVM::DIDerivedTypeAttr) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x82c19c4)
#15 0x000055609bb569bb mlir::LLVM::detail::DebugTranslation::translate(mlir::LLVM::DINodeAttr) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x82c09bb)
#16 0x000055609bb58b70 mlir::LLVM::detail::DebugTranslation::getMDTupleOrNull(llvm::ArrayRef<mlir::LLVM::DINodeAttr>) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x82c2b70)
#17 0x000055609bb5995b mlir::LLVM::detail::DebugTranslation::translateImpl(mlir::LLVM::DICompositeTypeAttr) (/proj/nv/llvm/Linux_x86_64/llvm-4477/bin/flang+0x82c395b)
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs