Skip to content

[flang]: nested allocation in types fails in amdflang #1117

@d1saster

Description

@d1saster

Problem Description

Experiencing the following ICE on https://flang.godbolt.org/z/ecGjfb5q5.

loc("/home/asd/_rocm_therock/test.f90":8:37): error: runtime derived type info descriptor was not generated and skipExternalRttiDefinition and ignoreMissingTypeDescriptors options are not set
LLVM ERROR: aborting
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: /home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/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 /home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/lib/clang/22 -mframe-pointer=all -o test.o -x f95 test.f90
 #0 0x00007f9dae113b6b llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libLLVM.so.22.0git+0x913b6b)
 #1 0x00007f9dae11097f SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #2 0x00007f9dad227c30 __restore_rt (/lib64/libc.so.6+0x19c30)
 #3 0x00007f9dad28111c __pthread_kill_implementation (/lib64/libc.so.6+0x7311c)
 #4 0x00007f9dad227afe gsignal (/lib64/libc.so.6+0x19afe)
 #5 0x00007f9dad20f6d0 abort (/lib64/libc.so.6+0x16d0)
 #6 0x00007f9dade0f833 llvm::json::operator==(llvm::json::Value const&, llvm::json::Value const&) (.cold) JSON.cpp:0:0
 #7 0x00007f9dae0131c8 (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libLLVM.so.22.0git+0x8131c8)
 #8 0x000000000095cb03 _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x95cb03)
 #9 0x00000000018af50d _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x18af50d)
#10 0x00000000018b662e _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x18b662e)
#11 0x00000000018c114f _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x18c114f)
#12 0x00000000018d425f _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x18d425f)
#13 0x000000000189ee7d _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x189ee7d)
#14 0x00007f9db980ff69 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libMLIR.so.22.0git+0x500ff69)
#15 0x00007f9db94f9254 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>) (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libMLIR.so.22.0git+0x4cf9254)
#16 0x00007f9db9812fb7 (anonymous namespace)::OperationLegalizer::legalize(mlir::Operation*) DialectConversion.cpp:0:0
#17 0x00007f9db98130ef mlir::OperationConverter::convert(mlir::Operation*, bool) (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libMLIR.so.22.0git+0x50130ef)
#18 0x00007f9db9816e2e mlir::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>) (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libMLIR.so.22.0git+0x5016e2e)
#19 0x00007f9db9818f4c applyConversion(llvm::ArrayRef<mlir::Operation*>, mlir::ConversionTarget const&, mlir::FrozenRewritePatternSet const&, mlir::ConversionConfig, (anonymous namespace)::OpConversionMode) DialectConversion.cpp:0:0
#20 0x00007f9db98191be mlir::applyFullConversion(mlir::Operation*, mlir::ConversionTarget const&, mlir::FrozenRewritePatternSet const&, mlir::ConversionConfig) (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libMLIR.so.22.0git+0x50191be)
#21 0x00000000018bf87a _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x18bf87a)
#22 0x00007f9db94bfddd mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libMLIR.so.22.0git+0x4cbfddd)
#23 0x00007f9db94c0539 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libMLIR.so.22.0git+0x4cc0539)
#24 0x00007f9db94c127b mlir::PassManager::run(mlir::Operation*) (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/../lib/libMLIR.so.22.0git+0x4cc127b)
#25 0x0000000000872111 _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x872111)
#26 0x00000000008764f8 _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x8764f8)
#27 0x000000000085aa3c _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x85aa3c)
#28 0x0000000000845ddd _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x845ddd)
#29 0x00000000008641ec _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x8641ec)
#30 0x000000000083c6a4 _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x83c6a4)
#31 0x0000000000809ae1 _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x809ae1)
#32 0x00007f9dad2115f5 __libc_start_call_main (/lib64/libc.so.6+0x35f5)
#33 0x00007f9dad2116a8 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x36a8)
#34 0x000000000083b0ae _end (/home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/bin/flang+0x83b0ae)
flang-22: error: unable to execute command: Aborted (core dumped)
flang-22: error: flang frontend command failed due to signal (use -v to see invocation)
AMD flang version 22.0.0git (https://github.com/ROCm/llvm-project.git 08a72fce79ea9208f36b7845aa37aedfbaac39ee+PATCHED:f3b5643f91ad4def7b92cd48247bc11f1f39fb5c)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/asd/_rocm_therock/venv313/lib/python3.13/site-packages/_rocm_sdk_core/lib/llvm/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: /tmp/test-214c59
flang-22: note: diagnostic msg: /tmp/test-214c59.sh
flang-22: note: diagnostic msg: 

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

note that flang-trunk and fedora-provided flang-new version compile this flawlessly.

Operating System

Fedora 42

CPU

XXX

GPU

XXX

ROCm Version

7.11.0a20260111

ROCm Component

flang

Steps to Reproduce

Installing rocm from therock repo, pip freeze:

rocm==7.11.0a20260111
rocm-sdk-core==7.11.0a20260111
rocm-sdk-devel==7.11.0a20260111
rocm-sdk-libraries-gfx110X-all==7.11.0a20260111

Executing amdflang -c -o test.o test.f90 on

program test_nested_alloc
    implicit none
  	type :: nested_t
		integer, allocatable	:: pa(:)
	end type


    type (nested_t), allocatable :: tmp_data(:)

    allocate (tmp_data(1000))

end program test_nested_alloc

(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support

No response

Additional Information

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions