Skip to content

bpart-related hang during precompilation #58257

@maleadt

Description

@maleadt

Happens on 1.12 and nightly. MWE:

module CUDA

module a
    using ..CUDA
    Base.get!(b, c) = d
    export @e
    macro e()
        quote
            get!(g, 2)
        end
    end
end

using .a
id() = 0
get!
Base.get!(f, m, h) = f()
const k =
    function l()
        get!(k, dev) do
            @e
        end
    end
struct j
    function j()
        id()
        @e
        l()
    end
end
__init__() = j()

end

Hangs in:

jl_resolve_implicit_import at /cache/build/tester-amdci5-9/julialang/julia-master/src/module.c:227
jl_resolve_implicit_import at /cache/build/tester-amdci5-9/julialang/julia-master/src/module.c:385 [inlined]
jl_get_binding_partition_ at /cache/build/tester-amdci5-9/julialang/julia-master/src/module.c:387 [inlined]
jl_get_binding_partition_with_hint at /cache/build/tester-amdci5-9/julialang/julia-master/src/module.c:406
lookup_binding_partition at ./runtime_internals.jl:235 [inlined]
scan_specified_partitions at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3619
scan_leaf_partitions at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3648
abstract_eval_globalref at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3671
abstract_eval_special_value at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:2978
abstract_eval_basic_statement at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3761 [inlined]
abstract_eval_basic_statement at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:3734 [inlined]
typeinf_local at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4283

Reduced from JuliaGPU/CUDA.jl#2762

cc @Keno

Metadata

Metadata

Assignees

No one assigned

    Labels

    regressionRegression in behavior compared to a previous version

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions