Skip to content

addprocs(1) fails when some ethernet interfaces report the speed and others not #28

@ufechner7

Description

@ufechner7

addprocs(1) fails because there's a bug in the DistributedNext package version 1.0.0. The error occurs in the init_bind_addr() function where it tries to call isless(::Float64, ::Nothing), which is not a valid comparison.

MWE:

julia> using DistributedNext
julia> addprocs(1)

Output:

ERROR: MethodError: no method matching isless(::Float64, ::Nothing)
The function `isless` exists, but no method is defined for this combination of argument types.

Closest candidates are:
  isless(::Missing, ::Any)
   @ Base missing.jl:87
  isless(::Any, ::Missing)
   @ Base missing.jl:88
  isless(::T, ::T) where T<:Union{Float16, Float32, Float64}
   @ Base float.jl:630
  ...

Stacktrace:
  [1] _rf_findmax(::Tuple{Float64, Int64}, ::Tuple{Nothing, Int64})
    @ Base ./reduce.jl:907
  [2] BottomRF
    @ ./reduce.jl:86 [inlined]
  [3] MappingRF
    @ ./reduce.jl:100 [inlined]
  [4] _foldl_impl(op::Base.MappingRF{…}, init::Base._InitialValue, itr::Base.Pairs{…})
    @ Base ./reduce.jl:62
  [5] foldl_impl
    @ ./reduce.jl:48 [inlined]
  [6] mapfoldl_impl
    @ ./reduce.jl:44 [inlined]
  [7] mapfoldl
    @ ./reduce.jl:175 [inlined]
  [8] _findmax
    @ ./reduce.jl:906 [inlined]
  [9] findmax
    @ ./reducedim.jl:1198 [inlined]
 [10] init_bind_addr()
    @ DistributedNext ~/.julia/packages/DistributedNext/Ujy0m/src/cluster.jl:1334
 [11] init_multi()
    @ DistributedNext ~/.julia/packages/DistributedNext/Ujy0m/src/cluster.jl:1353
 [12] addprocs(manager::DistributedNext.LocalManager; kwargs::@Kwargs{})
    @ DistributedNext ~/.julia/packages/DistributedNext/Ujy0m/src/cluster.jl:460
 [13] addprocs
    @ ~/.julia/packages/DistributedNext/Ujy0m/src/cluster.jl:459 [inlined]
 [14] #addprocs#279
    @ ~/.julia/packages/DistributedNext/Ujy0m/src/managers.jl:490 [inlined]
 [15] addprocs(np::Int64)
    @ DistributedNext ~/.julia/packages/DistributedNext/Ujy0m/src/managers.jl:487
 [16] top-level scope
    @ REPL[3]:1
Some type information was truncated. Use `show(err)` to see complete types.

Output of versioninfo()

julia> versioninfo()
Julia Version 1.11.6
Commit 9615af0f269 (2025-07-09 12:58 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 32 × AMD Ryzen 9 7950X 16-Core Processor
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver4)
Threads: 1 default, 0 interactive, 1 GC (on 32 virtual cores)
Environment:
  LD_LIBRARY_PATH = /lib:/usr/lib:/usr/local/lib

This is on Ubuntu 22.04.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions