Internal compiler error when trying to run atomic operations
- Dominant language
- Julia
- Stars
- 215
- Forks
- 37
- Avg merge
- 10h 47m
- Merged PRs (30d)
- 14
Description
When trying to run the [atomic operations example from KernelAbstractions](https://juliagpu.github.io/KernelAbstractions.jl/stable/examples/atomix/), I encounter an internal compiler error.
To reproduce it I only need to do the following steps;
- instantiate a new project (using Julia 1.12.6)
- add oneAPI, KernelAbstractions with Pkg
- run the atomic operations example, replacing the CuArray with oneArray.
This fails to compile and terminates Julia.
Version info
```
Binary dependencies:
- NEO: 25.44.36015+0
- libigc: 2.22.2+0
- gmmlib: 22.8.2+0
- SPIRV_LLVM_Translator: 21.1.1+0
- SPIRV_Tools: 2025.4.0+0
- oneAPI_Support: 0.9.2+0 (oneMKL v2025.2.0)
Toolchain:
- Julia: 1.12.6
- LLVM: 18.1.7
Julia packages:
- oneAPI.jl: 2.6.1
- GPUArrays: 11.5.4
- GPUCompiler: 1.12.0
- KernelAbstractions: 0.9.41
- LLVM: 9.8.2
- SPIRVIntrinsics: 0.5.9
1 driver:
- 00000000-0000-0000-18b1-859c01038caf (v1.3.36015, API v1.13.0)
1 device:
- Intel(R) Iris(R) Xe Graphics
```
Stack trace
```
internal compiler error, abnormal program termination
[6594] signal 6 (-6): Aborted
in expression starting at REPL[15]:1
pthread_kill at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x78cdda25f1df) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdda1f6dc6) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdda19a0b1) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdd9fd724f) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdd9cb5067) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdd9cc8ece) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdda91bff5) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdda91c2db) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdda91c738) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdd9d42ad9) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdd97fbd39) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdd9a5b69a) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
unknown function (ip: 0x78cdd97fdeb6) at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so
_ZNK3IGC20IgcOclTranslationCtxILm0EE4Impl9TranslateEmPN3CIF8Builtins6BufferILm1EEES7_S7_S7_S7_S7_jPv at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so (unknown line)
_ZN3IGC20IgcOclTranslationCtxILm3EE13TranslateImplEmPN3CIF8Builtins6BufferILm1EEES6_S6_S6_S6_S6_jPv at /home/bart/.julia/artifacts/553b265a4460ce2826a4189bd481352f62354473/lib/libigc.so (unknown line)
_ZN2L021ModuleTranslationUnit16compileGenBinaryERN3NEO16TranslationInputEb at /home/bart/.julia/artifacts/25b852bb3eb6612a24dd54358ceaa9025aa2a6de/lib/libze_intel_gpu.so.1 (unknown line)
_ZN2L021ModuleTranslationUnit21buildFromIntermediateEmPKcjS2_S2_PK22_ze_module_constants_t.constprop.0 at /home/bart/.julia/artifacts/25b852bb3eb6612a24dd54358ceaa9025aa2a6de/lib/libze_intel_gpu.so.1 (unknown line)
_ZN2L09ModuleImp10initializeEPK17_ze_module_desc_tPN3NEO6DeviceE.constprop.0 at /home/bart/.julia/artifacts/25b852bb3eb6612a24dd54358ceaa9025aa2a6de/lib/libze_intel_gpu.so.1 (unknown line)
_ZN2L09DeviceImp12createModuleEPK17_ze_module_desc_tPP19_ze_module_handle_tPP29_ze_module_build_log_handle_tNS_10ModuleTypeE at /home/bart/.julia/artifacts/25b852bb3eb6612a24dd54358ceaa9025aa2a6de/lib/libze_intel_gpu.so.1 (unknown line)
unchecked_zeModuleCreate at /home/bart/.julia/packages/oneAPI/x1T59/lib/level-zero/libze.jl:3039 [inlined]
_ at /home/bart/.julia/packages/oneAPI/x1T59/lib/level-zero/module.jl:34
ZeModule at /home/bart/.julia/packages/oneAPI/x1T59/lib/level-zero/module.jl:11 [inlined]
link at /home/bart/.julia/packages/oneAPI/x1T59/src/compiler/compilation.jl:216
unknown function (ip: 0x78ce53019676) at (unknown file)
actual_compilation at /home/bart/.julia/packages/GPUCompiler/vlk4U/src/execution.jl:270
unknown function (ip: 0x78ce6b90423c) at (unknown file)
cached_compilation at /home/bart/.julia/packages/GPUCompiler/vlk4U/src/execution.jl:159
macro expansion at /home/bart/.julia/packages/oneAPI/x1T59/src/compiler/execution.jl:251 [inlined]
macro expansion at ./lock.jl:376 [inlined]
#zefunction#56 at /home/bart/.julia/packages/oneAPI/x1T59/src/compiler/execution.jl:246
zefunction at /home/bart/.julia/packages/oneAPI/x1T59/src/compiler/execution.jl:243
unknown function (ip: 0x78ce6b8f0adc) at (unknown file)
macro expansion at /home/bart/.julia/packages/oneAPI/x1T59/src/compiler/execution.jl:114 [inlined]
#_#6 at /home/bart/.julia/packages/oneAPI/x1T59/src/oneAPIKernels.jl:125
Kernel at /home/bart/.julia/packages/oneAPI/x1T59/src/oneAPIKernels.jl:110 [inlined]
#index_fun_fixed#2 at ./REPL[8]:5 [inlined]
index_fun_fixed at ./REPL[8]:1
unknown function (ip: 0x78ce6b8e6872) at (unknown file)
jl_apply at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
do_call at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/interpreter.c:123
eval_value at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/interpreter.c:243
eval_stmt_value at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/interpreter.c:194 [inlined]
eval_body at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/interpreter.c:707
jl_interpret_toplevel_thunk at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/interpreter.c:898
jl_toplevel_eval_flex at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/toplevel.c:1035
__repl_entry_eval_expanded_with_loc at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:301
jl_apply at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f_invokelatest at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/builtins.c:881
toplevel_eval_with_hooks at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:308
toplevel_eval_with_hooks at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:312
toplevel_eval_with_hooks at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:312
toplevel_eval_with_hooks at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:305 [inlined]
eval_user_input at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:330
repl_backend_loop at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:452
#start_repl_backend#41 at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:427
start_repl_backend at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:424 [inlined]
#run_repl#50 at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:653
run_repl at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/usr/share/julia/stdlib/v1.12/REPL/src/REPL.jl:639
jfptr_run_repl_19665.1 at /home/bart/.julia/juliaup/julia-1.12.6+0.x64.linux.gnu/share/julia/compiled/v1.12/REPL/u0gqU_E4m7X.so (unknown line)
run_std_repl at ./client.jl:478
jfptr_run_std_repl_24985.1 at /home/bart/.julia/juliaup/julia-1.12.6+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
jl_f_invokelatest at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/builtins.c:881
run_main_repl at ./client.jl:499
repl_main at ./client.jl:586 [inlined]
_start at ./client.jl:561
jfptr__start_63319.1 at /home/bart/.julia/juliaup/julia-1.12.6+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/julia.h:2391 [inlined]
true_main at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/jlapi.c:971
jl_repl_entrypoint at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/src/jlapi.c:1139
main at /cache/build/builder-amdci5-4/julialang/julia-release-1-dot-12/cli/loader_exe.c:58
unknown function (ip: 0x78ce85a2a1c9) at /lib/x86_64-linux-gnu/libc.so.6
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8) at /workspace/srcdir/glibc-2.17/csu/../sysdeps/x86_64/start.S
Allocations: 57776690 (Pool: 57774156; Big: 2534); GC: 30
Aborted (core dumped)
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the atomic operations example from the KernelAbstractions documentation with oneArray, Julia 1.12.6, and the listed package versions. Start with oneAPI/src/compiler/compilation.jl and lib/level-zero/module.jl from the stack trace, then compare the GPUCompiler path; done means the example compiles without the internal compiler error or Julia abort.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100