Skip to content

Troubles with @trace #1900

@Sleort

Description

@Sleort

Coming back to some Reactant code I haven't touched for a month or so, I've been having issues with @trace I didn't have before. My previously working code is a bit more complex, but even the following crashes (a traced version of the example in the control flow tutorial):

Status `/tmp/jl_Vo9cB9/Project.toml`
  [3c362404] Reactant v0.2.179

julia> using Reactant

julia> function traced_add_n(x, n)
           @trace for _ in 1:n
               x .+= 1
           end
           return x
       end
traced_add_n (generic function with 1 method)

julia> x = Reactant.to_rarray(ones(Int, 10))
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
W0000 00:00:1763849282.781153   42457 cuda_executor.cc:1802] GPU interconnect information not available: INTERNAL: NVML doesn't support extracting fabric info or NVLink is not used by the device.
I0000 00:00:1763849282.781449   42166 service.cc:158] XLA service 0x356506d0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
I0000 00:00:1763849282.781488   42166 service.cc:166]   StreamExecutor device (0): NVIDIA GeForce RTX 4070 Laptop GPU, Compute Capability 8.9
I0000 00:00:1763849282.781940   42166 se_gpu_pjrt_client.cc:1039] Using BFC allocator.
I0000 00:00:1763849282.781974   42166 gpu_helpers.cc:136] XLA backend allocating 6138544128 bytes on device 0 for BFCAllocator.
I0000 00:00:1763849282.782008   42166 gpu_helpers.cc:177] XLA backend will use up to 2046181376 bytes on device 0 for CollectiveBFCAllocator.
W0000 00:00:1763849282.783439   42166 cuda_executor.cc:1802] GPU interconnect information not available: INTERNAL: NVML doesn't support extracting fabric info or NVLink is not used by the device.
I0000 00:00:1763849282.789625   42166 cuda_dnn.cc:463] Loaded cuDNN version 91400
10-element ConcretePJRTArray{Int64,1}:
 1
 1
 1
 1
 1
 1
 1
 1
 1
 1

julia> n = ConcreteRNumber(1)
ConcretePJRTNumber{Int64, 1}(1)

julia> @jit traced_add_n(x, n)
loc(fused["traced_while/while_loop"("/home/a46632/.julia/packages/Reactant/0s4GX/src/ControlFlow.jl":20:0), "broadcast_to_size/fill"("/home/a46632/.julia/packages/Reactant/0s4GX/src/TracedPromotion.jl":106:0)]): error: Mismatched ranks of types1 vs 0
LLVM ERROR: Failed to infer result type(s):
"stablehlo.divide"(...) {} : (tensor<10xi64>, tensor<i64>) -> ( ??? )

[42166] signal 6 (-6): Aborted
in expression starting at REPL[8]: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)
_ZN4llvm18report_fatal_errorERKNS_5TwineEb at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4llvm18report_fatal_errorENS_9StringRefEb at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir6detail32reportFatalInferReturnTypesErrorERNS_14OperationStateE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9stablehlo5DivOp5buildERNS_9OpBuilderERNS_14OperationStateENS_5ValueES6_ at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9stablehlo5DivOp6createERNS_9OpBuilderENS_8LocationENS_5ValueES5_ at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZNK4mlir6enzyme11DivMulConst15matchAndRewriteEPNS_9OperationERNS_15PatternRewriterE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4llvm12function_refIFvvEE11callback_fnIZN4mlir17PatternApplicator15matchAndRewriteEPNS4_9OperationERNS4_15PatternRewriterENS0_IFbRKNS4_7PatternEEEENS0_IFvSC_EEENS0_IFNS_13LogicalResultESC_EEEE3$_0EEvl at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir17PatternApplicator15matchAndRewriteEPNS_9OperationERNS_15PatternRewriterEN4llvm12function_refIFbRKNS_7PatternEEEENS6_IFvS9_EEENS6_IFNS5_13LogicalResultES9_EEE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN12_GLOBAL__N_126GreedyPatternRewriteDriver15processWorklistEv at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4llvm12function_refIFvvEE11callback_fnIZNO12_GLOBAL__N_126RegionPatternRewriteDriver8simplifyEPbE3$_2EEvl at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir21applyPatternsGreedilyERNS_6RegionERKNS_23FrozenRewritePatternSetENS_19GreedyRewriteConfigEPb at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform15ApplyPatternsOp10applyToOneERNS0_17TransformRewriterEPNS_9OperationERNS0_21ApplyToEachResultListERNS0_14TransformStateE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform6detail20applyTransformToEachINS0_15ApplyPatternsOpERN4llvm14iterator_rangeINS4_20filter_iterator_implIPKPNS_9OperationEZNKS0_14TransformState13getPayloadOpsENS_5ValueEEUlS8_E_St26bidirectional_iterator_tagEEEEEENS_27DiagnosedSilenceableFailureET_RNS0_17TransformRewriterEOT0_RNS4_15SmallVectorImplINS0_21ApplyToEachResultListEEERSB_ at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform20TransformEachOpTraitINS0_15ApplyPatternsOpEE5applyERNS0_17TransformRewriterERNS0_16TransformResultsERNS0_14TransformStateE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform6detail35TransformOpInterfaceInterfaceTraits5ModelINS0_15ApplyPatternsOpEE5applyEPKNS2_7ConceptEPNS_9OperationERNS0_17TransformRewriterERNS0_16TransformResultsERNS0_14TransformStateE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform14TransformState14applyTransformENS0_20TransformOpInterfaceE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZL18applySequenceBlockRN4mlir5BlockENS_9transform22FailurePropagationModeERNS2_14TransformStateERNS2_16TransformResultsE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform15NamedSequenceOp5applyERNS0_17TransformRewriterERNS0_16TransformResultsERNS0_14TransformStateE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform6detail35TransformOpInterfaceInterfaceTraits5ModelINS0_15NamedSequenceOpEE5applyEPKNS2_7ConceptEPNS_9OperationERNS0_17TransformRewriterERNS0_16TransformResultsERNS0_14TransformStateE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform14TransformState14applyTransformENS0_20TransformOpInterfaceE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform15applyTransformsEPNS_9OperationENS0_20TransformOpInterfaceERKNS_11RaggedArrayIN4llvm12PointerUnionIJS2_NS_9AttributeENS_5ValueEEEEEERKNS0_16TransformOptionsEbNS5_12function_refIFvRNS0_14TransformStateEEEENSG_IFNS5_13LogicalResultESI_EEE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir9transform27applyTransformNamedSequenceENS_11RaggedArrayIN4llvm12PointerUnionIJPNS_9OperationENS_9AttributeENS_5ValueEEEEEENS0_20TransformOpInterfaceENS_8ModuleOpERKNS0_16TransformOptionsE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN12_GLOBAL__N_115InterpreterPass14runOnOperationEv at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir6detail17OpToOpPassAdaptor3runEPNS_4PassEPNS_9OperationENS_15AnalysisManagerEbj at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir6detail17OpToOpPassAdaptor11runPipelineERNS_13OpPassManagerEPNS_9OperationENS_15AnalysisManagerEbjPNS_16PassInstrumentorEPKNS_19PassInstrumentation18PipelineParentInfoE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
_ZN4mlir11PassManager3runEPNS_9OperationE at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
mlirPassManagerRunOnOp at /home/a46632/.julia/artifacts/b0d1ace75c3151cab56abac740060ad04b2a682e/lib/libReactantExtra.so (unknown line)
mlirPassManagerRunOnOp at /home/a46632/.julia/packages/Reactant/0s4GX/src/mlir/libMLIR_h.jl:8951 [inlined]
run! at /home/a46632/.julia/packages/Reactant/0s4GX/src/mlir/IR/Pass.jl:154
#run_pass_pipeline!#2 at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:1313
run_pass_pipeline! at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:1308 [inlined]
#compile_mlir!#15 at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:1761
unknown function (ip: 0x7ca4ca122879)
compile_mlir! at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:1570
compile_mlir! at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:1570 [inlined]
#compile_xla#58 at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:3518
compile_xla at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:3490 [inlined]
#compile#59 at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:3594
compile at /home/a46632/.julia/packages/Reactant/0s4GX/src/Compiler.jl:3591
unknown function (ip: 0x7ca4ca10ad7d)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
do_call at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/interpreter.c:126
eval_value at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/interpreter.c:223
eval_stmt_value at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/interpreter.c:174 [inlined]
eval_body at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/interpreter.c:666
jl_interpret_toplevel_thunk at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/interpreter.c:824
jl_toplevel_eval_flex at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:943
jl_toplevel_eval_flex at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:886
jl_toplevel_eval_flex at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:886
jl_toplevel_eval_flex at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:886
ijl_toplevel_eval_in at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/toplevel.c:994
eval at ./boot.jl:430 [inlined]
eval_user_input at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:261
repl_backend_loop at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:368
#start_repl_backend#59 at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:343
start_repl_backend at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:340
#run_repl#76 at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:500
run_repl at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/usr/share/julia/stdlib/v1.11/REPL/src/REPL.jl:486
jfptr_run_repl_10226.1 at /home/a46632/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/compiled/v1.11/REPL/u0gqU_XvZAg.so (unknown line)
#1150 at ./client.jl:446
jfptr_YY.1150_14873.1 at /home/a46632/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/compiled/v1.11/REPL/u0gqU_XvZAg.so (unknown line)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
jl_f__call_latest at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/builtins.c:875
#invokelatest#2 at ./essentials.jl:1055 [inlined]
invokelatest at ./essentials.jl:1052 [inlined]
run_main_repl at ./client.jl:430
repl_main at ./client.jl:567 [inlined]
_start at ./client.jl:541
jfptr__start_73684.1 at /home/a46632/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/lib/julia/sys.so (unknown line)
jl_apply at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/julia.h:2157 [inlined]
true_main at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/jlapi.c:900
jl_repl_entrypoint at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/src/jlapi.c:1059
main at /cache/build/builder-demeter6-3/julialang/julia-release-1-dot-11/cli/loader_exe.c:58
unknown function (ip: 0x7ca4d102a1c9)
__libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x4010b8)
Allocations: 64046877 (Pool: 64041185; Big: 5692); GC: 40
Aborted (core dumped)

Some additional info:

julia> versioninfo()
Julia Version 1.11.7
Commit f2b3dbda30a (2025-09-08 12:10 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 22 × Intel(R) Core(TM) Ultra 7 155H
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, alderlake)
Threads: 1 default, 0 interactive, 1 GC (on 22 virtual cores)

nvidia-smi says:

| NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 13.0     |

(Note also that I've updated the Nvidia-driver and Cuda-version since last time I successfully ran my code...)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions