Skip to content

AssertionError: found nested MustAlias #711

@xlxs4

Description

@xlxs4

A particular JET test I'm running w/ @test_call errors with an AssertionError: found nested MustAlias from julia/Compiler/src/typelattice.jl. Let me know what I can do to help debug. I if I can supply a MWE. I'll try to see if the problem goes away in earlier JET/Julia versions and run a bisect if so

stacktrace
julia> @test_call target_modules=(ADCSSims,) ADCSSims.odesetup(conf)
Error During Test at REPL[6]:1
  Test threw exception
  Expression: #= REPL[6]:1 =# JET.@test_call target_modules = (ADCSSims,) ADCSSims.odesetup(conf)
  AssertionError: found nested MustAlias
  Stacktrace:
    [1] assert_nested_slotwrapper
      @ ./../usr/share/julia/Compiler/src/typelattice.jl:204 [inlined]
    [2] Compiler.Conditional(slot::Int64, thentype::Any, elsetype::Any; isdefined::Bool)
      @ Compiler ./../usr/share/julia/Compiler/src/typelattice.jl:41
    [3] Conditional
      @ ./../usr/share/julia/Compiler/src/typelattice.jl:39 [inlined]
    [4] Conditional
      @ ./../usr/share/julia/Compiler/src/typelattice.jl:46 [inlined]
    [5] abstract_eval_isdefined_expr
      @ ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3232 [inlined]
    [6] abstract_eval_statement_expr(interp::JET.JETAnalyzer{JET.BasicPass}, e::Expr, sstate::Compiler.StatementState, sv::Compiler.InferenceState)
      @ Compiler ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3413
    [7] abstract_eval_statement_expr
      @ ~/.julia/packages/JET/PvvPV/src/abstractinterpret/typeinfer.jl:438 [inlined]
    [8] abstract_eval_statement_expr(analyzer::JET.JETAnalyzer{JET.BasicPass}, e::Expr, sstate::Compiler.StatementState, sv::Compiler.InferenceState)
      @ JET ~/.julia/packages/JET/PvvPV/src/analyzers/jetanalyzer.jl:294
    [9] abstract_eval_basic_statement
      @ ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3783 [inlined]
   [10] abstract_eval_basic_statement(analyzer::JET.JETAnalyzer{JET.BasicPass}, stmt::Any, sstate::Compiler.StatementState, frame::Compiler.InferenceState, result::Nothing)
      @ JET ~/.julia/packages/JET/PvvPV/src/abstractinterpret/typeinfer.jl:405
   [11] abstract_eval_basic_statement
      @ ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3740 [inlined]
   [12] typeinf_local(interp::JET.JETAnalyzer{JET.BasicPass}, frame::Compiler.InferenceState, nextresult::Compiler.CurrentState)
      @ Compiler ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4290
   [13] typeinf(interp::JET.JETAnalyzer{JET.BasicPass}, frame::Compiler.InferenceState)
      @ Compiler ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4448
   [14] typeinf
      @ ~/.julia/packages/JET/PvvPV/src/abstractinterpret/typeinfer.jl:310 [inlined]
   [15] analyze_frame!
      @ ~/.julia/packages/JET/PvvPV/src/JETBase.jl:680 [inlined]
   [16] analyze_method_instance!(analyzer::JET.JETAnalyzer{JET.BasicPass}, mi::Core.MethodInstance)
      @ JET ~/.julia/packages/JET/PvvPV/src/JETBase.jl:670
   [17] analyze_method_signature!(analyzer::JET.JETAnalyzer{JET.BasicPass}, m::Method, atype::Any, sparams::Core.SimpleVector)
      @ JET ~/.julia/packages/JET/PvvPV/src/JETBase.jl:647
   [18] analyze_gf_by_type!(analyzer::JET.JETAnalyzer{JET.BasicPass}, tt::Type{<:Tuple})
      @ JET ~/.julia/packages/JET/PvvPV/src/JETBase.jl:618
   [19] analyze_and_report_call!(analyzer::JET.JETAnalyzer{JET.BasicPass}, tt::Type{<:Tuple}; jetconfigs::@Kwargs{target_modules::Tuple{Module}})
      @ JET ~/.julia/packages/JET/PvvPV/src/JETBase.jl:599
   [20] analyze_and_report_call!
      @ ~/.julia/packages/JET/PvvPV/src/JETBase.jl:596 [inlined]
   [21] analyze_and_report_call!(analyzer::JET.JETAnalyzer{JET.BasicPass}, f::Any, types::Any; jetconfigs::@Kwargs{target_modules::Tuple{Module}})
      @ JET ~/.julia/packages/JET/PvvPV/src/JETBase.jl:594
   [22] report_call(::Function, ::Vararg{Any}; jetconfigs::@Kwargs{target_modules::Tuple{Module}})
      @ JET ~/.julia/packages/JET/PvvPV/src/analyzers/jetanalyzer.jl:1388
   [23] macro expansion
      @ ~/.julia/packages/JET/PvvPV/src/JETBase.jl:1010 [inlined]
   [24] top-level scope
      @ ./REPL[6]:1
   [25] __repl_entry_eval_expanded_with_loc(mod::Module, ast::Any, toplevel_file::Ref{Ptr{UInt8}}, toplevel_line::Ref{Int32})
      @ REPL ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:302
   [26] toplevel_eval_with_hooks(mod::Module, ast::Any, toplevel_file::Any, toplevel_line::Any)
      @ REPL ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:309
   [27] toplevel_eval_with_hooks(mod::Module, ast::Any, toplevel_file::Any, toplevel_line::Any) (repeats 3 times)
      @ REPL ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:313
   [28] toplevel_eval_with_hooks
      @ ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:306 [inlined]
   [29] eval_user_input(ast::Any, backend::REPL.REPLBackend, mod::Module)
      @ REPL ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:331
   [30] repl_backend_loop(backend::REPL.REPLBackend, get_module::Function)
      @ REPL ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:453
   [31] start_repl_backend(backend::REPL.REPLBackend, consumer::Any; get_module::Function)
      @ REPL ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:428
   [32] start_repl_backend
      @ ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:425 [inlined]
   [33] run_repl(repl::REPL.AbstractREPL, consumer::Any; backend_on_current_task::Bool, backend::Any)
      @ REPL ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:654
   [34] run_repl(repl::REPL.AbstractREPL, consumer::Any)
      @ REPL ~/.julia/juliaup/julia-1.12.0-beta3+0.x64.linux.gnu/share/julia/stdlib/v1.12/REPL/src/REPL.jl:640
   [35] run_std_repl(REPL::Module, quiet::Bool, banner::Symbol, history_file::Bool)
      @ Base ./client.jl:489
   [36] run_main_repl(interactive::Bool, quiet::Bool, banner::Symbol, history_file::Bool)
      @ Base ./client.jl:510
   [37] repl_main
      @ ./client.jl:597 [inlined]
   [38] _start()
      @ Base ./client.jl:572
ERROR: There was an error during testing
versioninfo()
julia> versioninfo()
Julia Version 1.12.0-beta3
Commit faca79b503a (2025-05-12 06:47 UTC)
Build Info:
  Official https://julialang.org release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 16 × AMD Ryzen 7 5700U with Radeon Graphics
  WORD_SIZE: 64
  LLVM: libLLVM-18.1.7 (ORCJIT, znver2)
  GC: Built with stock GC
Threads: 16 default, 1 interactive, 16 GC (on 16 virtual cores)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions