Skip to content

MPI.jl fails to precompile on Julia nightly in some configurations #48039

@giordano

Description

@giordano

Package seems to be somewhat broken on nightly in some, but not all, configurations, for example https://github.com/JuliaParallel/MPI.jl/actions/runs/3800486725/jobs/6464015891

 Warning: Module MPIPreferences with build ID fafbfcfd-8255-0b55-0000-006331197460 is missing from the cache.
│ This may mean MPIPreferences [3da0fdf6-3ccc-4f1b-acd9-58baa6c99267] does not support precompilation but is imported by a module that does.
└ @ Base loading.jl:1648
ERROR: LoadError: ArgumentError: NULL library handle
Stacktrace:
  [1] #dlsym#1
    @ ./libdl.jl:57 [inlined]
  [2] kwcall(::NamedTuple{(:throw_error,), Tuple{Bool}}, ::typeof(Base.Libc.Libdl.dlsym), hnd::Ptr{Nothing}, s::Symbol)
    @ Base.Libc.Libdl ./libdl.jl:56
  [3] var"@mpichk"(__source__::LineNumberNode, __module__::Module, expr::Any, min_version::Any)
    @ MPI.API ~/work/MPI.jl/MPI.jl/src/api/api.jl:123
  [4] #macroexpand#65
    @ ./expr.jl:119 [inlined]
  [5] macroexpand
    @ ./expr.jl:117 [inlined]
  [6] docm(source::LineNumberNode, mod::Module, meta::Any, ex::Any, define::Bool)
    @ Base.Docs ./docs/Docs.jl:538
  [7] docm(source::LineNumberNode, mod::Module, meta::Any, ex::Any)
    @ Base.Docs ./docs/Docs.jl:538
  [8] (::DocStringExtensions.var"#35#36"{typeof(DocStringExtensions.template_hook)})(::LineNumberNode, ::Vararg{Any})
    @ DocStringExtensions ~/.julia/packages/DocStringExtensions/JVu77/src/templates.jl:11
  [9] var"@doc"(__source__::LineNumberNode, __module__::Module, x::Vararg{Any})
    @ Core ./boot.jl:539
 [10] include(mod::Module, _path::String)
    @ Base ./Base.jl:452
 [11] include(x::String)
    @ MPI.API ~/work/MPI.jl/MPI.jl/src/api/api.jl:1
 [12] top-level scope
    @ ~/work/MPI.jl/MPI.jl/src/api/api.jl:136
 [13] include(mod::Module, _path::String)
    @ Base ./Base.jl:452
 [14] include(x::String)
    @ MPI ~/work/MPI.jl/MPI.jl/src/MPI.jl:1
 [15] top-level scope
    @ ~/work/MPI.jl/MPI.jl/src/MPI.jl:43
 [16] include
    @ ./Base.jl:452 [inlined]
 [17] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::String)
    @ Base ./loading.jl:1900
 [18] top-level scope
    @ stdin:2
in expression starting at /home/runner/work/MPI.jl/MPI.jl/src/api/generated_api.jl:642
in expression starting at /home/runner/work/MPI.jl/MPI.jl/src/api/generated_api.jl:642
in expression starting at /home/runner/work/MPI.jl/MPI.jl/src/api/api.jl:1
in expression starting at /home/runner/work/MPI.jl/MPI.jl/src/MPI.jl:1
in expression starting at stdin:2
ERROR: LoadError: Failed to precompile MPI [da04e1cc-30fd-572f-bb4f-1f8673147195] to "/home/runner/.julia/compiled/v1.10/MPI/jl_1rTeBS".
Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:35
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
   @ Base ./loading.jl:2124
 [3] compilecache
   @ ./loading.jl:2016 [inlined]
 [4] _require(pkg::Base.PkgId, env::String)
   @ Base ./loading.jl:1660
 [5] _require_prelocked(uuidkey::Base.PkgId, env::String)
   @ Base ./loading.jl:1515
 [6] macro expansion
   @ ./loading.jl:1503 [inlined]
 [7] macro expansion
   @ ./lock.jl:267 [inlined]
 [8] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:1466
in expression starting at /home/runner/work/MPI.jl/MPI.jl/docs/examples/01-hello.jl:1

CC @vchuravy as I suspect this is related to #47184

Originally posted by @giordano in JuliaParallel/MPI.jl#698 (comment)

Some pointers appear to be NULL, @gbaraldi mentioned he's seen something similar elsewhere.

Metadata

Metadata

Assignees

No one assigned

    Labels

    regressionRegression in behavior compared to a previous version

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions